Catch exception when on PDO connection
我使用PDO建立了以下连接。 显然,由于我未指定主机或数据库(或用户或密码),因此无法连接
1 | $dbh = new PDO('mysql:host=;dbname=', '', ''); |
..so如何捕获异常? 我正在尝试这样的事情:
1 2 3 4 5 6 | try { $dbh = new PDO('mysql:host=;dbname=', '', ''); } catch (Exception $e) { echo 'Error: ', $e->getMessage(),"\ "; } |
..但不显示任何消息。 为什么?
您正在使用自定义名称空间吗? 那么你需要改变
1 2 3 4 | } catch (\\Exception $e) { echo 'Error: ', $e->getMessage(),"\ "; } |
注意Exception之前的反斜杠。
您需要传递属性
1 2 3 | $dbh = new PDO('mysql:host=;dbname=', '', '', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION )); |
查看
还请检查@Ali的答案!