2016-06-29 5 views
0

私のアプリケーションで例外処理を実装しようとしています。このため、Laravelフレームワークには、レポートとレンダリングメソッドを使用して例外を処理する独自のメカニズムがあります。しかし、例外を実装するには、例外が発生した場所からソースを追跡する必要があります。特定のページ、ルートなどがあります。このためには、URLを渡してレポートとレンダリングを行う必要がありますが、そうすることはできません。これをレポートやレンダー機能の下に実装するためには、何をする必要がありますか?Laravelでの例外処理の実装5.2

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); 
} 

答えて

2

独自の例から分かるように、引数リストにはインスタンスのインスタンスがあります。リクエストには、現在のルート、URLなどのリクエスト固有の詳細がすべて含まれています。

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

独自の例外クラスを作成して、必要な数のパラメータを受け入れることもできます。

もう少し快適な方法がすでに述べられています - あなたは例外トレースを通過することができます。

1

あなたはあなたの例外に関するすべての詳細を与える行の上Exception::getTrace

var_dump($e->getTrace()); 

を使用する必要があります。