在Laravel

时间:2016-05-26 14:12:18

标签: php laravel laravel-5

有没有办法在Laravel 5.2中捕获未找到视图的异常(不是未找到http路由)并显示自定义错误? 我试图在app / Exceptions / handler中捕获InvalidArgumentException并返回一条没有运气的简单消息。

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以在app\Exception\Handler.php文件的render方法中包含此内容:

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

不要忘记在课堂顶部use InvalidArgumentException;

编辑:我可以看到这是一个普遍的例外,很多类都抛出它。因此,当其他一些类抛出此异常时,您仍将获得404。

所以只是一个快速的黑客:

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

因此,当FileViewFinder文件抛出InvalidArgumentException时,这只会显示404。

P.S可能有更好的解决方案。