Обработка ошибок в модели (MVC)

Добавить к какой сказанный Evan: C не имеет встроенного оператора для возведения в степень, потому что это не примитивная операция для большинства центральных процессоров. Таким образом это реализовано как библиотечная функция.

кроме того, для вычисления функционального e^x, можно использовать exp(double), expf(float), и expl(long double) функции.

Примечание, которое Вы делаете не , хочет использовать ^ оператор, который является битовое исключающее "ИЛИ" оператор.

6
задан Jim 28 January 2014 в 15:23
поделиться

3 ответа

Я использовал log4j и log4cxx и веду журнал в syslogd. Kiwi - это простой системный журнал Win32, который отслеживает сообщения журнала и сохраняет их в файл. Log4j / Log4cxx имеют файлы конфигурации, которые вы можете использовать для настройки всех уровней вашего журнала или адресатов сообщений журнала (вы можете войти в несколько мест).

Это требует так мало усилий для настройки и использования, и это работает как шарм.

Я сам не пробовал log4php .

Исключения хороши, когда вы больше не хотите, чтобы ваша программа продолжала выполняться. Перехватывает исключения на высоком уровне, где можно принять последствия неудачных выполнений.

1
ответ дан 17 December 2019 в 04:49
поделиться

Более простым решением было бы использование исключений .

Когда возникает ошибка, которую вы показываете пользователю, генерируйте исключение особого типа - возможно с названием UserError . Исключение должно содержать текст сообщения об ошибке, когда вы его бросаете. Такого рода ошибки представляют собой функции , которые предоставляют пользователям полезную информацию (т. Е. Они пытались удалить то, что не существует - что может произойти, когда у них открыто несколько браузеров и т. Д.)

например:

throw new UserError("That object no longer exists.");

] Когда возникает ошибка, которую вы хотите скрыть от пользователя, вызовите исключение другого типа, например, с именем InternalError . Вы должны записать это и позволить программе продолжить работу, чтобы конкретная ошибка была скрыта от пользователя. Если это препятствует тому, чтобы что-то произошло, вы можете создать общее сообщение об ошибке. Это будут ошибки , и вы хотите исправить их как можно скорее.

например:

throw new InternalError("Failed to connect to remote service");

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

3
ответ дан 17 December 2019 в 04:49
поделиться

Просмотрите руководство NerdDinner о том, как создавать процедуры проверки перед принятием окончательного решения:

http://nerddinnerbook.s3.amazonaws.com/Part3.htm

Часть проверки занимает примерно 2/3 страницы вниз.

1
ответ дан 17 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: