PHP – 如何捕获“尝试获取非对象的属性”错误

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP – 如何捕获“尝试获取非对象的属性”错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过try / catch语句捕获’尝试获取非对象的属性错误,但是它仍然失败,我仍然收到一个 PHP错误.我正在使用:
try{
  $id = Model()->find('id=1')->id;
}catch(Exception $e){
  echo 'Failed';
}

我的find函数返回一个对象(Active Record),我可以通过object PRop来显示id列.

但是,如果没有找到AR,它将为空对象.我以为这个try语句会抓住这个.为自己做的工作是使用isset().但是我对于为什么try语句不接受并且捕获这个错误感到困惑.

try..catch可以抛出异常.错误不会被抛出,也不是例外.你可以有 silence错误,但请不要这样做.相反,要正确检查你得到什么:
$result = Model()->find('id=1');
if ($result) {
    $id = $result->id;
} else {
    // handle this sITuation
}

脚本宝典总结

以上是脚本宝典为你收集整理的PHP – 如何捕获“尝试获取非对象的属性”错误全部内容,希望文章能够帮你解决PHP – 如何捕获“尝试获取非对象的属性”错误所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。