PHP Try / Catch阻止代码执行

时间:2016-10-24 16:42:18

标签: php

我正在运行以下代码:

    try {

        $count = $user[0]->followers_count;

    } catch (Exception $e) {

        return 'error';
    }

    dd('continuing execution');

哪个输出:

  

Twitter.php第174行中的FatalErrorException:无法使用类型的对象   stdClass为数组

现在,引用https://stackoverflow.com/a/13955721/2724978

  

首先,应该明确一个异常只是致命的   它没有被抓住。捕获异常不会停止脚本   执行。

我的代码不会继续执行,即使它在try / catch块上。我很确定我错过了什么,是什么?

1 个答案:

答案 0 :(得分:0)

好吧,我发现答案是在PHP中,错误和异常是不同的东西。可以捕获异常并且代码不会停止。另一方面,FatalErrorException等错误将始终暂停应用程序,即使它位于try / catch块中。

没办法,必须编写用于检查变量类型的代码。

另外,另一件事......有时(例如在laravel中)你必须使用\ Exception而不仅仅是Exception。