2

晚上,

我目前正在处理这样的 PDO 异常:

try{
$db = Db::connect();
$query = $db->prepare( "SELECT * FROM table;" );
$query->execute();
}
catch( PDOException $e ) { error( 'MySQL error: ' . $e->getMessage(), __FILE__, __LINE__ ); }

我每次的处理都是一样的。所以我想知道是否有一种方法可以设置它在出现 PDO 异常时自动运行:

catch( PDOException $e ) { error( 'MySQL error: ' . $e->getMessage(), __FILE__, __LINE__ ); }
4

2 回答 2

4

查看PDO 的文档

您可以将错误处理更改为PDO::ERRMODE_SILENTPDO::ERRMODE_WARNING

$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);

或者使用set_exception_handler并为所有异常定义一个处理程序。

于 2012-05-19T22:00:53.570 回答
0

尝试编辑类本身来捕捉它。

于 2012-05-19T21:37:56.903 回答