【问题标题】:Unable to catch error in laravel using try catch使用 try catch 无法捕获 laravel 中的错误
【发布时间】:2019-01-12 17:12:11
【问题描述】:

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

我希望如果发生错误,那么 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():打开流失败: HTTP 请求失败! HTTP/1.1 400 错误请求

错误显示在行

    $jsondata_car = (file_get_contents($urltofind_car));

解决方案在这里

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

问题是即使我没有写,这也不会引发错误

使用异常;

在开头。

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

【问题讨论】:

    标签: laravel laravel-5.6


    【解决方案1】:

    很可能还是会抛出错误,因为你还没有导入 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-14
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多