Symfony 3 处理错误
Symfony 3 handling errors
有没有办法处理来自我的 symfony 控制器的所有错误,例如,如果我收到此错误:
在我的控制器中有没有办法使用 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
}
}
}
我总是在网络通话预览中收到红屏消息:
而不是像这样的东西:
“错误:类型错误:参数 1 传递给......
使用 PHP 7,您可以处理 PHP 错误,例如来自不匹配类型(如您的示例)的 TypeErrors 以及通过捕获其共享接口 Throwable
的异常。
你应该小心这一点,尤其是外部控制器,因为这可以防止你看到意外错误,这些错误可能会导致问题发生,或者你看不到你的应用程序的某些部分何时完全损坏。至少你应该有适当的日志记录。
总而言之,您可以像这样捕获错误和异常:
try {
...
} catch (\Throwable $error) {
...
}
有没有办法处理来自我的 symfony 控制器的所有错误,例如,如果我收到此错误:
在我的控制器中有没有办法使用 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
}
}
}
我总是在网络通话预览中收到红屏消息:
而不是像这样的东西:
“错误:类型错误:参数 1 传递给......
使用 PHP 7,您可以处理 PHP 错误,例如来自不匹配类型(如您的示例)的 TypeErrors 以及通过捕获其共享接口 Throwable
的异常。
你应该小心这一点,尤其是外部控制器,因为这可以防止你看到意外错误,这些错误可能会导致问题发生,或者你看不到你的应用程序的某些部分何时完全损坏。至少你应该有适当的日志记录。
总而言之,您可以像这样捕获错误和异常:
try {
...
} catch (\Throwable $error) {
...
}