Symfony 3处理错误

时间:2019-03-20 18:00:23

标签: symfony symfony-3.4

例如,如果遇到此错误,是否可以通过我的symfony控制器处理所有错误:

enter image description here

在我的控制器中,有没有一种方法可以使用try / catch来获得此错误?例如:

class SomeClass extends Controller
{
    public function doSomethingAction(Request $request){
        //do something
        try {
            //do something
        }
        catch(\Exception $e){
            dump("ERROR:".$e->getMessage()); //<--this is not dumping anithing
        }
    }
}

在网络呼叫预览中,我始终获得红色屏幕消息: enter image description here

代替类似的东西

“错误:类型错误:参数1传递给了.....

1 个答案:

答案 0 :(得分:2)

使用PHP 7,您可以通过捕获它们的共享接口Throwable来处理类型不匹配的PHP错误(如TypeErrors)(如您的示例)以及异常。

您应该对此特别小心,尤其是在外部控制器上,因为这可能会阻止您看到意外错误,从而导致问题恶化,或者您看不到应用程序的某些部分完全损坏时。至少您应该有适当的日志记录。

总而言之,您可以像这样捕获错误和异常:

try {
    ...
} catch (\Throwable $error) {
    ...
}