10.错误处理模块
错误处理模块
1. 认识错误
- E_ALL - 所有的错误
- E_ERROR - 致命性的错误(下面代码不会执行了)
- E_WARNING - 警告性错误(报警,但能运行)
- E_NOTICE - 提示级别的错误(轻微的错误)
- E_STRICT - 编码标准化警告(编译时)
- E_CORE_ERROR - PHP启动时初始化过程中错误
- E_CORE_WARNING - PHP启动时初始化过程中的警告
- E_COMPILE_ERROR - 编译时的致命错误c
- E_COMPILE_WARNING - 编译时的警告错误
- E_USER_ERROR - 用户自定义的致命错误
- E_USER_WARNING - 用户自定义的警告
- E_USER_NOTICE - 用户自定义的提示
2.错误的三个级别
- error 致命错误 会终止程序运行
- waring 警告错误 不会终止程序运行
- notice 提示 算不上错误
3.解决错误
让该看到的人看到,不该看到的人不让他看
-
让不该看的的人开不到(老板,黑客,用户)
-
使用错误抑制符
@
(只能单行屏蔽,且效率低) -
修改PHP文件中的display_errors选项,设置为On显示错误,设置为Off不显示错误(一刀切)
-
修改error_reporting的配置
-
使用
error_reporting
函数,与上边设置的值一样error_reporting(E_ALL & ~ E_WARING & ~ E_NOTICE) // ~ 除了 & 并且
-
让该看到的人看到(开发人员)
-
比较灵活的错误处理方式
set_error_handler()
用户接管处务处理方式PS:设置了之后系统就不会报相应错误了(他也会屏蔽错误)
<?php // 设置,但要写在最上边 set_error_handler('doError'); // 回调函数 echo $name; include ('./nihai.php'); // 设置回调函数 function doError($error_no, $error_str, $error_file, $error_line) { $error = '错误级别: ' . $error_no . '<br/>' . '错误信息: ' . $error_str . '<br/>' . '错误文件: ' . $error_file. '<br/>'. '错误行号: ' . $error_line . '<hr/>'; echo $error; } ?>
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~