我在 RouteServiceProvider 中有代码:
$router->bind('user', function ($value) {
try{
throw (new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException);
}catch(Exception $e){
exit('nott');
}
});
我没有得到输出
nott
我得到了
Sorry, the page you are looking for could not be found.
NotFoundHttpException in RouteServiceProvider.php line 75:
...
编辑: 这有效:
$router->bind('user', function ($value) {
try{
throw (new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException);
}catch(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $e){
exit('addd');
}
});
但这行不通:
$router->bind('user', function ($value) {
try{
return (new User)->findOrFail(122);
}catch(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $e){
exit('addd');
}
});
最佳答案
$router->bind('user', function ($value) {
try{
throw (new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException);
}catch(\Exception $e){
exit('nott');
}
});
或
use Exception; //on top
$router->bind('user', function ($value) {
try{
throw (new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException);
}catch(Exception $e){
exit('nott');
}
});
我想现在你明白你错过了什么。
关于php - LARAVEL -> 为什么 try catch 在 Laravel 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35572864/