PHP: Пользовательский обработчик ошибок для PDO? - PullRequest
6 голосов
/ 06 октября 2010

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

Теперь я использую блоки try .. catch, конечно, перехватывает исключение, я реализую собственный обработчик ошибок в части catch, или я могу пропустить блок try-> catchполностью, так как обработчик исключений будет обрабатывать это для меня (вызывая or throw new exception (...) в операторе?

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

1 Ответ

10 голосов
/ 06 октября 2010

Вам придется использовать блок try..catch вокруг каждого запроса PDO.Добавьте свою функцию журнала в часть catch.В PHP нет универсального обработчика исключений.

try {  
   pdo::error();  
}  
catch (Exception $e) {  
   syslog($e);  
}  

Если вы хотите избежать блоков try..catch, вы можете, однако, настроить PDO только для отображения ошибок вместо выдачи исключений.http://php.net/manual/en/pdo.error-handling.php

 $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...