我正在尝试上传文件。而且,如果引发异常,我也不想看到“ whoops”页面。相反,它将返回前一页并显示一条消息。这就是我尝试过的,
try {
$data = Excel::toArray(new Import, request('file'));
} catch (\Exception $e) {
return back()->withErrors("an exception occured");
}
但是无论何时发生任何异常,它仍然会给我whoops页面。
如何解决?
答案 0 :(得分:0)
我不相信您将能够捕获/处理致命错误。该脚本已停止,目前无法恢复。脚本关闭时,关闭处理程序正在运行。这是通过file1.xml
<system name="" ostype="DummyOs" version="1">
<mbean component="CIM" type="" mbclass="" cimclass="DummyClass1">
<attribute id="Manufacturer" type="text" value="" />
</mbean>
<mbean component="CIM" type="" mbclass="" cimclass="DummyClass2>
<attribute id="Manufacturer" type="text" value="" />
</mbean>
</system>
file2.xml
<system name="" ostype="dummyOs" version="1">
<mbean component="CIM" type="" mbclass="" cimclass="DummyClass1">
<attribute id="Manufacturer" type="text" value="" />
<attribute id="New_Manufacturer" type="text" value="" /></mbean>
<mbean component="CIM" type="" mbclass="" cimclass="DummyClass2>
<attribute id="Manufacturer" type="text" value="" />
</mbean>
</system>
output.xml
<system name="" ostype="DummyOs" version="1">
<mbean component="CIM" type="" mbclass="" cimclass="DummyClass1">
<attribute id="Manufacturer" type="text" value="" />
<attribute id="New_Manufacturer" type="text" value="" />
</mbean>
<mbean component="CIM" type="" mbclass="" cimclass="DummyClass2>
<attribute id="Manufacturer" type="text" value="" />
</mbean>
</system>
的关闭功能来处理的。
register_shutdown_function
将检查是否有错误,是否致命,然后将Illuminate\Foundation\Bootstrap\HandleExceptions@handleShutdown
传递给它自己的处理程序作为示例。
答案 1 :(得分:0)
Laravel 5.0及更高版本在app/Exceptions/Handler.php
处附带错误处理程序。在这里,您可以为应用程序中的任何异常定义处理程序。这样,您无需在控制器中添加额外的错误处理。
所有信息均可在文档中找到:https://laravel.com/docs/6.x/errors#the-exception-handler