【发布时间】:2016-03-12 08:22:42
【问题描述】:
我想 PHP 的异常系统会捕获所有的。但事实并非如此。
try{
$obj = new Asdfasdfasdf()
} catch(Exception $e){
trace(...something...)
}
但是它没有捕捉到这种错误,我搜索了php文档,没有说明在try,catch子句中可以捕捉到哪种异常/错误。
那么,我怎么知道我的 catch 子句会捕获哪种异常/错误?
附言
我终于明白 php 引擎的“错误”不是使用土地代码的“异常”。如果要使用异常处理引擎“错误”,则应手动将所有“错误”包装在异常中。
【问题讨论】:
-
致命错误不是异常,异常就是异常......我建议你先阅读exceptions
-
无法捕获致命错误。他们不扔任何东西。如果你想“捕捉”这种事情,你必须注册一个错误处理程序/关闭脚本。
-
@MarkBaker 看过文档,请告诉我,文档在哪一行,说异常不能捕获错误,哪些错误不能被异常捕获
-
@MarkBaker我来自c++,c++中的所有错误都可以在异常中处理
-
以及指向ErrorException的相关链接以及如何将错误转换为异常的示例
标签: php