考虑以下 PHP 类:
class someObject {
public function broken(){
return isset($this->something()) ? 'worked' : 'didnt';
}
public function something(){
return true;
}
public function notBroken(){
print('worked');
}
}
假设我现在这样做:
$obj= new someObject();
$obj->broken();
考虑到您不能将函数调用传递给 isset(),(它是通过引用),我希望这会失败并出现致命错误:PHP Fatal error: Can't use method return value in write context
这很好,并且可以预期。
但是,假设我现在这样做:
$obj= new someObject();
$obj->notBroken();
考虑到我broken()
在这次执行中没有碰到任何地方,并且错误broken()
是致命错误(而不是 Parse 错误),我不希望正常输出“工作”。错误的!它仍然会产生致命错误。
问题:
除了不编写有错误的代码之外,还有其他不是解析错误但仍会触发运行时错误的错误吗?我只知道:PHP Fatal error: Can't use method return value in write context
。有没有办法检测这些错误?这种类型的错误有一个特殊的名称吗?