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