在Laravel 5.2中实现异常处理


Implementation of Exception Handling in Laravel 5.2

我试图在我的应用程序中实现异常处理。为此,Laravel框架有自己的机制来处理异常,使用report和render方法。但是要实现异常,我需要跟踪异常的来源,例如特定页面,路由等。为此,我需要传递url报告和呈现方法,但无法这样做。为了在下面的报告和渲染功能中实现这一点,需要做些什么?

public function report(Exception $e)
{
    parent::report($e);
}

public function render($request, Exception $e)
{
    /*  Token mismatch Exception handler  start */
    if ($e instanceof 'Illuminate'Session'TokenMismatchException) {
        return response()->view('errors.sessionExpire', [], 500);
      }
    /* Token mismatch Exception handler  start */
    return parent::render($request, $e);
}

从您自己的示例中可以看到,在参数列表中有一个Request实例。Request包含所有特定于请求的细节,比如当前路由,URL等等。

$request->url(); // Current request URL
$request->fullUrl(); // With query parameters
$request->route(); // Get the route closure for this request path

你也可以创建你自己的异常类,可以接受任意多的参数!

还有一种不太舒服的方法——你可以通过异常跟踪。

您需要使用Exception::getTrace

var_dump($e->getTrace()); 
上面的

行会给你关于异常的所有细节。

public function report(Exception $e){
    echo '<pre>';  // add this line 
    print_r($e->getTrace()); // add this line 
    parent::report($e);
}