晚上,
我目前正在处理这样的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__ ); }
答案 0 :(得分:4)
您可以将错误处理更改为 PDO :: ERRMODE_SILENT 或 PDO :: ERRMODE_WARNING
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
或者使用set_exception_handler并为所有例外定义处理程序。
答案 1 :(得分:0)
尝试编辑类本身以捕获它。