PHP:PDO的自定义错误处理程序?

时间:2010-10-06 17:10:11

标签: php exception-handling error-handling pdo

我试图尝试使用PDO异常做一些有用的事情而不是显示它们,但我找不到我的生活如何使用错误处理程序(set_error_handler)或任何自定义来处理PDO异常。

现在我正在使用try .. catch块当然捕获异常,我是否在catch部分实现了自定义错误处理程序,或者我可以跳过尝试>完全捕获块,因为异常处理程序会为我处理它(通过在语句上调用or throw new exception (...)

我想我要问的是一个示例来捕获PDO异常并记录它们或多或少(任何简单的代码是否正确我都可以使用,我不是太愚蠢)。

1 个答案:

答案 0 :(得分:10)

您必须在每个PDO查询周围使用try..catch块。在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 );
相关问题