PHP捕获PDO异常

PHP捕获PDO异常,php,pdo,exception-handling,Php,Pdo,Exception Handling,如果被捕获,为什么会出现以下错误 警告:带有消息的未捕获异常“PDOException” 'SQLSTATE[08001]:[Microsoft][SQL Server本机客户端11.0]已命名 管道提供程序:无法打开与SQL Server的连接[53] 一个可能的原因可能是名称空间:您应该尝试捕获\PDOException,而不是PDOException,可能是另一种类型的Exception@DJBurb我能抓住异常吗?基本上,我想终止程序。我的印象是,catch(Exception$Exce

如果被捕获,为什么会出现以下错误

警告:带有消息的未捕获异常“PDOException” 'SQLSTATE[08001]:[Microsoft][SQL Server本机客户端11.0]已命名 管道提供程序:无法打开与SQL Server的连接[53]


一个可能的原因可能是名称空间:您应该尝试捕获
\PDOException
,而不是
PDOException

可能是另一种类型的Exception@DJBurb我能抓住异常吗?基本上,我想终止程序。我的印象是,
catch(Exception$Exception)
将捕获所有异常,
PDOException
是一个自定义异常,应该可以被
exception
PDOException
捕获,尽管后者显然不适用于您。也许您使用的PHP版本中存在错误。正在使用什么版本?你能更新吗?
try {
    $_dbHandler = new PDO("sqlsrv:Server={$_dbConfig['server']};Database={$_dbConfig['dbName']}", $_dbConfig['username'], $_dbConfig['password']);
    $_dbHandler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $exception) {
    //$exception->getMessage();
    die();
}