有没有办法在Laravel 5.2中捕获未找到视图的异常(不是未找到http路由)并显示自定义错误? 我试图在app / Exceptions / handler中捕获InvalidArgumentException并返回一条没有运气的简单消息。
提前谢谢
答案 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可能有更好的解决方案。