php - LARAVEL -> 为什么 try catch 在 Laravel 中不起作用?

标签 php laravel laravel-4 laravel-5

我在 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/

相关文章:

java - 使程序针对不同的输入运行网站

php - 如何在 vue 组件中使用 Laravel Assets

php - 使用 Laravel 分页或简单分页

php - Laravel Eloquent ORM firstOrNew 批量赋值异常

php - 循环mysql_fetch_array

php - 使用条件在smarty中设置var

laravel - 将 [title] 添加到可填充属性以允许在 [App\Profile] 上进行批量分配

laravel - 如何将 Eloquent 关系与 Yajra 数据表结合使用?

google-chrome - 自升级到 Laravel 4.1 以来,net::ERR_INCOMPLETE_CHUNKED_ENCODING

javascript - 使用 Laravel 4+ 从 jQuery/ajax 保存序列化可排序数据