我写了一个代码来尝试捕捉错误。
我希望如果发生错误,则laravel继续执行下一个错误,然后将错误写入错误文件,如下所示。
Laravel的黑色错误页面弹出,其中显示“ ErrorException(E_WARNING),然后在左侧页面显示整个错误,程序突然停止。 有没有一种方法可以跳过错误通知,从而使我的整个代码停下来。
我尝试通过编码捕获错误:
$jsondata_car = (file_get_contents($urltofind_car));
我错过了什么吗? 我得到的错误在这里
file_get_contents():无法打开流: HTTP请求失败! HTTP / 1.1 400错误请求
错误显示在行
(->> "data.csv"
io/resource
io/reader
line-seq
(drop 1))
解决方案在这里
使用应包含名称空间的异常。
问题是,即使我没有写过
,也不会引发错误。使用异常;
在一开始。
按照@simon R的建议,我进行了更正,并且奏效了。
答案 0 :(得分:0)
您可以使用rescue helper代替try-catch块:
$jsondata_car = rescue(function () use ($urltofind_car) {
return file_get_contents($urltofind_car);
}, null);
答案 1 :(得分:0)
很可能仍会引发错误,因为您尚未导入Exception类
确保您添加
Use Exception;
上你的课。
或者将代码更新为名称空间;
try {
$jsondata_car = (file_get_contents($urltofind_car));
} catch (\Exception $e) {
$errorfile = fopen("errors", 'a');
fwrite($errorfile, $e - > getmessage().
"\n");
$failed_car = 9999999;
report($e);
return false;
}