我希望能够在我的PHP类中抛出致命的、无法捕获的错误,当我的类的用户滥用它以外的东西时。我不希望他们能够用catch语句恢复。
我知道trigger_error
,但我只能让它发出警告或通知。
我希望能够在我的PHP类中抛出致命的、无法捕获的错误,当我的类的用户滥用它以外的东西时。我不希望他们能够用catch语句恢复。
我知道trigger_error
,但我只能让它发出警告或通知。
E_USER_ERROR
不会停止/退出/终止,除非错误处理程序返回false。E_USER_ERROR
。if($isTestMode==1){
eval("noSuchFunction();");
}
这种方法总是有效的。 - Steve Horvathdebug_print_backtrace();
trigger_error("As much information as you can provide, please", E_USER_ERROR);
exit();
exit()函数可以完全终止PHP脚本的执行。提供给用户或开发者有关错误的更多信息越好。错误代码已经过时。
编辑:使用E_USER_ERROR应该无论如何都会终止脚本,因此将debug_print_backtrace()放在trigger_error()之前。
$flag = false;
try {
if ($flag == false) {
throw new Error('An error occured');
}
} catch (Error $e) {
echo $e->getMessage();
}
throw new Error('An error occured');
放在Try Catch
之外,你会得到一个致命错误。
trigger_error()
调用。 - Sammitch