Intereting Posts
Проблемы с OpenSSL на PHP – различное поведение для разных версий Не удалось открыть поток при чтении содержимого из URL-адреса Зарезервированные символы в переменных переменных PHP $ _SESSION Конструктор запросов базы данных иногда возвращает массив вместо объекта, запущенного как задание в очереди Передавать аргументы из массива в php в конструктор Запрос MSSQL возвращает неизвестный тип данных в поле даты CONVERT Facebook PHP SDK – сохранение пользовательских данных в базе данных MYSql Как следует распространять изменения в объектах MVC? DOMDocument / Xpath утечка памяти при длительном процессе командной строки – любой способ деконструировать этот класс Неопределенный индекс в сообщении PHP пример создания купона дисконтирования и погашения в php Как читать мыльный ответ xml в php Когда использовать модули в Zend Framework? Как найти ссылки для загрузки видео? php не может загружать CURL в Windows 7 64-разрядный

Должен ли я регистрировать ошибку, когда я бросаю ее или где ее поймаю?

Должен ли я регистрировать ошибку, когда я ее бросаю так:

try { addOne(); } catch (Exception $e) { } function addOne($number) { if (empty($number)) { Log::instance()->add(Log::ERROR, $e->getMessage()); throw Exception('The incoming number is empty'); } return $number+1; } 

или где я это поймаю?

 try { addOne(); } catch (Exception $e) { Log::instance()->add(Log::ERROR, $e->getMessage()); } function addOne($number) { if (empty($number)) { throw Exception('The incoming number is empty'); } return $number+1; } 

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

Вы должны регистрировать ошибку, когда она была обнаружена (в catch), в противном случае ваш метод будет вызван даже тогда, когда он будет сбой, и никакая ошибка не будет зарегистрирована, если вы не хотите, чтобы журнал был успешным, тогда вы либо разместите его теперь или использовать, наконец, для его регистрации.