2016-05-26 1 views
0

Laravel 5.2でビューが見つかりません(httpルートが見つかりません)をキャプチャしてカスタムエラーを表示する方法はありますか? 私はapp/Exceptions/handlerでInvalidArgumentExceptionをキャプチャして、運がない単純なメッセージを返そうとしました。Laravelのカスタムビューが見つかりません

if($e instanceof InvalidArgumentException) abort(404); 

がクラスの最上部にuse InvalidArgumentException;することを忘れないでください:

は、あなたがあなたのapp\Exception\Handler.phpファイルのrender方法でこれを含めることができ、事前に

+0

ビューが見つからないのはなぜですか? – Abhishek

+0

私は複数の言語をサポートするウェブサイトを持っています。たとえば、チームページがウェブサイトの英語側に存在するとします。しかしスペイン側では私はチームページを持っていません。ウェブサイトが動的であるため、スペイン語版のウェブサイトを使用している間にチームルートへの完全なURLを持っている場合、スペイン語版には存在しないため、ページが見つかりませんでした。だから、ビューの代わりに404エラーで中止したいと思います。ルートは同じですが、言語ごとにビューが分かれています –

答えて

0

、ありがとうございました。

EDIT:これは一般的な例外であり、多くのクラスがそれを投げていることがわかります。 FileViewFinderファイルがInvalidArgumentExceptionをスローした場合ので、これが唯一の404が表示されます

if(($e instanceof InvalidArgumentException) && str_contains($e->getFile(), 'Illuminate/View/FileViewFinder')) abort(404); 

:いくつかの他のクラスはこの例外をスローした場合ので、あなたはまだそうちょうど迅速なハックを404

を取得します。

P.S良い解決策があるかもしれません。

+0

ありがとうございました。 InvalidArgumentExceptionを使用する代わりに、私はErrorExceptionを使用しました。それは今働いています;-) –

関連する問題