关于fatal error的一点疑问
程序员文章站
2022-05-23 09:35:23
...
function dothing(){
$jb->she();
}
dothing();
echo 321;
如上所帖代码,假如运行,想当然得会爆出 fatal error she 这个方法on a non-object. 打不出后边得 321
现在是 我们不知道 dothing 到底有没有错。dothing对我们来说是个黑匣子。运行完dothing(); 还要echo 321 .
我得问题是,除了以下写法,是否还有更简易的写法来 打出 321
set_error_handler('error');
function dothing(){
$jb->she();
}
dothing();
function error($e){
echo 321;
exit();
}
?>
也就是说 拦截fatal error 或者不确定 有没有 fatal error 就必需靠set_error_handler了?
$jb->she();
}
dothing();
echo 321;
如上所帖代码,假如运行,想当然得会爆出 fatal error she 这个方法on a non-object. 打不出后边得 321
现在是 我们不知道 dothing 到底有没有错。dothing对我们来说是个黑匣子。运行完dothing(); 还要echo 321 .
我得问题是,除了以下写法,是否还有更简易的写法来 打出 321
set_error_handler('error');
function dothing(){
$jb->she();
}
dothing();
function error($e){
echo 321;
exit();
}
?>
回复讨论(解决方案)
出错程序终止,后面的不执行。是正常的。
所以需要设置错误处理,当发生错误时,执行对应操作。
出错程序终止,后面的不执行。是正常的。
所以需要设置错误处理,当发生错误时,执行对应操作。
也就是说 拦截fatal error 或者不确定 有没有 fatal error 就必需靠set_error_handler了?
是的,如果是异常可以用try catch来解决。
但fatal error会终止程序的,try catch不适用。
这种情况则可以用try catch
getMessage();}echo 321;?>
这种情况则可以用try catch
getMessage();}echo 321;?>不过 fatal error 就不行了。 不过既然知道是的确应该用 set_error_handler拦截 就可以了 。
推荐阅读
-
关于JSP的一点疑问小结
-
关于微信jssdk实现多图片上传的一点心得分享
-
sqlserver关于错误“provider: TCP提供程序, error: 40-由于目标机器积极拒绝,无法连接”的解决
-
关于子网掩码的一点点小技巧
-
Steam提示fatal Error怎么办?Steam提示fatal Error的解决方法
-
关于网站文件自动备份程序的一点思考
-
关于JavaScript 原型链的一点个人理解
-
解析关于SQL语句Count的一点细节
-
php运行提示:Fatal error Allowed memory size内存不足的解决方法
-
关于“关于C#装箱的疑问”帖子的个人看法 (原发布csdn 2017年10月07日 10:21:10)