无法使用 try catch 捕获 laravel 中的错误

Unable to catch error in laravel using try catch

我写了一个代码来尝试捕获错误。

我希望如果发生错误,则 laravel 继续下一个,我将错误写入错误文件,如此处所示。

Laravel的错误黑页弹出,在左页显示“ErrorException (E_WARNING),然后是整个错误,程序突然停止。 有没有办法跳过使我的整个代码停止的错误通知。

我尝试通过编码来捕获错误的方法是:

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;
}

我是不是漏掉了什么? 我得到的错误在这里

file_get_contents(): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request

错误显示在第

    $jsondata_car = (file_get_contents($urltofind_car));

解决方法在这里

使用了本应包含命名空间的异常。

问题是即使我没有写

这也不会抛出错误

Use Exception;

开头。

按照@simon R 的建议,我进行了整改并且成功了。

很可能仍然抛出错误,因为你没有导入异常class

确保您添加

Use Exception;

给你的class。

或者将您的代码更新为命名空间;

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;
}