2010-10-06 4 views
6

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

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

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

+1

Хех .. когда 'set_error_handler прибегая к помощи pdo' это придумывает первую страницу .. Странно, что не говорил о многом. – John

ответ

10

Вам нужно будет использовать блок try..catch для каждого запроса PDO. Добавьте свою функцию журнала в часть catch. Для excep не существует общего обработчика в 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); 
+0

Awesome, я могу просто использовать обработчик ошибок (я нашел очень хорошую функцию для регистрации ошибок на диске). – John

+1

По умолчанию set_error_handler() будет видеть все предупреждения PDO, как и любые другие ошибки. – mario

+0

Принято с радостью, я решил просто оставить его для обработки ошибок PHP с помощью этого (ошибки отображения отключены, log_errors для упрощения реализации). Спасибо. – John

 Смежные вопросы

  • Нет связанных вопросов^_^