Лучший способ обработки сообщений об ошибках - PullRequest
5 голосов
/ 22 сентября 2008

Мне интересно, как лучше всего обрабатывать сообщения об ошибках в моем приложении.

В настоящее время я работаю над веб-приложением, и все сообщения об ошибках хранятся в базе данных, и мы получаем их по идентификатору, отрицательные - это ошибки, а положительные - сообщения об успехе.

проблема в том, что сложно поддерживать и отслеживать текстовые сообщения.

Какие у вас подходы?

Ответы [ 2 ]

4 голосов
/ 22 сентября 2008

Вообще я храню текст сообщений об ошибках в файлах ресурсов. Если вы используете .NET 2.0 или выше (Visual Studio 2005 или выше), файлы ресурсов автоматически скомпилированы в строго типизированные классы, что делает код, который обращается к указанным сообщениям, намного более понятным и читаемым.

(РЕДАКТИРОВАТЬ: После просмотра другого комментария, в котором упоминается локализация, я считаю честью упомянуть об этом и здесь: файлы ресурсов .NET отлично справляются с локализацией. Вы можете получить локализованный текст ресурса с помощью точно такого же код, с несколькими незначительными изменениями для предоставления CultureInfo.)

Тем не менее, похоже, что часть этой проблемной области - это номер сообщения. Эти ошибки выбрасываются из базы данных (скажем, как часть хранимых процедур или триггеров)? В этом случае хранилище базы данных, скорее всего, является для них подходящим местом, хотя бы потому, что оно наиболее точно документирует их там, где используются «магические числа».

2 голосов
/ 22 сентября 2008

Если вы собираетесь их локализовать, я бы использовал текст на английском языке в качестве ключа, а затем выполнил поиск по вашему выбору хранилища (база данных на основе SQL, хранилище файлов или что у вас есть), а затем вернуть правильно локализованную строку.

Если запрошенный ключ не существует в магазине, вы можете получить текстовую ошибку, возможно, отправив электронное письмо разработчику?

Для получения дополнительной информации см. GNU gettext .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...