2015-07-21 18 views

回答

2

我会试着抛出一个异常。你可以定义一个像BootstrapException。然后,你如果事情在App::before()出错扔:

App::before(function ($request) { 
    // do checks 

    if (/* checks failed */) { 
     throw new BootstrapException; 
    } 
}); 

之后,你可以收听start/global.php该异常(如),其中已经有一个App::error()电话:

App::error(function (BootstrapException $exception, $code) { 
    return Response::view('errorpage', [], $code); 
}); 

我不知道这个,但把App::error()之前捕获全部App::error(function (Exception $exception, $code) { ... });定义在start/global.php,因为每个例外是从Exception派生,所以你的BootstrapException将被捕获通过该错误处理调用,而不是由您的特定错误处理代码。

相关问题