Php 如何在Laravel中捕获控制器中的异常?

Php 如何在Laravel中捕获控制器中的异常?,php,laravel,laravel-4,Php,Laravel,Laravel 4,在我的控制器中,我需要测试自定义数据库连接,如果连接不好,则返回一个错误。问题是catch块不起作用。。。我得到一条异常消息,它是在app/start/global.php中全局定义的 try { DB::connection('test'); } catch (Exception $e) { dd('error'); } Laravel处理异常,不需要try/catch。您可以在\App\Exceptions中编写自定义异常,并自定义App\Exceptions\Handle

在我的控制器中,我需要测试自定义数据库连接,如果连接不好,则返回一个错误。问题是
catch
块不起作用。。。我得到一条异常消息,它是在
app/start/global.php
中全局定义的

try {
    DB::connection('test');
} catch (Exception $e) {
    dd('error');
}

Laravel处理异常,不需要try/catch。您可以在\App\Exceptions中编写自定义异常,并自定义App\Exceptions\Handler.php的内容,以格式化任何单个异常的响应,以满足您的需要。

此代码会发生什么?“不起作用”太宽了…@就像我说的那样,它不起作用。当连接不好时,它应该显示来自
dd
error
消息,但它只是抛出原始的laravel异常,它可能有一个错误处理程序。也许DB::connection会抛出一个错误(所以没有异常),Laravel会捕获它并以自己的方式结束它。。。你能看到什么是错误处理程序吗?@Random
“type:“PDOException”,“message:“SQLSTATE[HY000][2002]连接被拒绝”,
Do“catch(\Exception$e)”,它应该可以工作