Laravel Capsule:抓住PDOException

时间:2015-04-29 09:51:35

标签: php database exception laravel exception-handling

我正在构建一个网关,以使应用程序的多个实例能够相互通信。要连接到我正在使用Laravel's Capsule的不同数据库。

当对数据库的请求失败时,我想记录错误但是由于某种原因我无法正确捕获异常。看看日志,捕获工作正在运行,但是之后应用程序仍在死亡。

代码很基本:

try {
    // connection and request here
} catch (PDOException $e) {
    Log::error('*************************************************************************');
    Log::error('Failure reading franchise BDCs');
    Log::error('Franchise: '.json_encode($franchise->site_url));
    Log::error('*************************************************************************');
}

在日志中,我有以下内容:

  

[2015-04-29 09:46:35] production.INFO:开始阅读PPFD [] []

     

[2015-04-29 09:46:35] production.ERROR:

     

*************** ************************** [] []

     

[2015-04-29 09:46:35] production.ERROR:读取特许经营BDC失败[] []

     

[2015-04-29 09:46:35] production.ERROR:特许经营:“https://ppfd.domain.net/”[] []

     

[2015-04-29 09:46:35] production.ERROR:

     

*************** ************************** [] []

     

[2015-04-29 09:46:35] production.ERROR:异常'PDOException',消息'SQLSTATE [HY000] [1045]访问被拒绝用户'test'@'pp.damain.net'(使用密码:YES)'在/var/www/fd/releases/20150423164018/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:47

     

堆栈追踪:

如何捕获此异常并允许代码继续而不是崩溃?

提前致谢。任何帮助表示赞赏。

0 个答案:

没有答案