PHP – 如何捕获“尝试获取非对象的属性”错误
发布时间:2020-05-25 10:37:37 所属栏目:PHP 来源:互联网
导读:我试图通过try / catch语句捕获’尝试获取非对象的属性’错误,但是它仍然失败,我仍然收到一个 PHP错误.我正在使用: try{ $id = Model()-find(id=1)-id;}catch(Exception $e){ echo failed;} 我的find函数返回一个对象(Active Record),我可以通过object prop
|
我试图通过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
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
