Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我是否在PHP中发现了这个错误(调用布尔函数)?_Php_Exception_Try Catch - Fatal编程技术网

为什么可以';我是否在PHP中发现了这个错误(调用布尔函数)?

为什么可以';我是否在PHP中发现了这个错误(调用布尔函数)?,php,exception,try-catch,Php,Exception,Try Catch,我有一个问题,最终归结为在继续之前不检查值是否为假 我试图在它周围放置一个try/catch来进行调试,但奇怪的是,这没有帮助 下面是一个简单的例子: try { $test = false; $test->format('Y-m-d'); } catch (\Exception $e) { } 错误日志显示这是一个致命错误。PHP是否有文档说明为什么不会抛出正常错误?它确实会触发“正常”错误,但错误不是

我有一个问题,最终归结为在继续之前不检查值是否为假

我试图在它周围放置一个try/catch来进行调试,但奇怪的是,这没有帮助

下面是一个简单的例子:

    try
    {
        $test = false;
        $test->format('Y-m-d');
    }

    catch (\Exception $e)
    {

    }
错误日志显示这是一个致命错误。PHP是否有文档说明为什么不会抛出正常错误?

它确实会触发“正常”错误,但错误不是异常的实例,而是对象的独立分支。和的共同祖先是,您可能希望使用它

你的挡块应该是这样的

catch (\Throwable $e)
{
    // do stuff
}
或者如果您只想捕获错误

catch (\Error $e)
{
    // do stuff
}

还要注意,previor是两个不同的东西,它们以不同的方式处理。使用try-catch块无法捕获错误,您必须使用错误处理程序,检查

try-catch(error$e){…或for everything-catch(Throwable$e){…@Philipp-我的问题更多的是为什么特定代码会抛出错误而不是异常,以及它是否在任何地方被记录。