晚上,
我目前正在处理这样的 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__ ); }
最佳答案
您可以将错误处理更改为 PDO::ERRMODE_SILENT 或 PDO::ERRMODE_WARNING
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
或者使用set_exception_handler并为所有异常定义一个处理程序。
关于php - 自动捕获 PHP 中 PDO 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669017/