当我的班级用户因为我不想要的东西而滥用它时,我希望能够在我的php类中抛出一个致命的,无法捕获的错误.我不希望他/她能够使用catch子句恢复.我知道trigger_error,但我只能发出警告或通知.
bwo*_*ebi 45
E_USER_ERROR是适合的常量.
trigger_error("Fatal error", E_USER_ERROR);
Run Code Online (Sandbox Code Playgroud)
另请参见手册页的第一个示例和PHP错误列表(只有以E_USER*开头的那些可以从trigger_error发出).
Bra*_*ent 11
注意:如果您使用自定义错误处理程序(请参阅set_error_handler),
E_USER_ERROR则不会暂停/退出/死亡,除非错误处理程序返回false
简而言之:您的自定义错误处理程序有效地确定是否E_USER_ERROR将其视为致命错误
debug_print_backtrace();
trigger_error("As much information as you can provide, please", E_USER_ERROR);
exit();
Run Code Online (Sandbox Code Playgroud)
exit()完全终止PHP脚本.您可以向用户或开发人员提供有关错误的信息越多越好.错误代码是过时的.
编辑:使用E_USER_ERROR应该终止脚本,所以在trigger_error()之前移动了debug_print_backtrace().
| 归档时间: |
|
| 查看次数: |
22246 次 |
| 最近记录: |