1.错误处理级别:
① 语法错误:error 会给一个致命错误,终止程序继续执行
② 运行时错误:notice warning 运行代码的时候错误,有错误提示,但不会影响程序运行,但结果不是预期的
③ 逻辑错误:逻辑出现错误(不报错,不易排错)
④ notice:本身不是一个错误,只是一个提示,该错误可忽略
⑤ warning:警告,只要产生warning错误,程序执行结果就不是预期的,并不会终止代码执行,这个错误必须排除
⑥ error:致命错误,必须排除
2.调整错误报错级别:
① E_ERROR (1):致命的运行时错误,会阻止程序继续执行
② E_WARNING (2):运行时警告
③ E_NOTICE (8):运行时注意
④ E_ALL (81、91):所有错误和警告的注意信息
3.自定义错误处理:
(1)屏蔽错误
① 系统函数屏蔽错误
ini_set() 设置php.ini中的配置文件配置项
参数:a.要设置的php.ini的配置项
b.要设置的php.ini的配置项的值
ini_get() 获取php.ini中的配置项
参数:要获取的php.ini的配置项(获取display_errors配置项的值:0屏蔽错误、1不屏蔽错误)
error_reporting() 设置报错错误级别
参数:E_ALL^E_NOTICE^E_WARNING
② 手动屏蔽错误
修改php.ini中display_errors=on为off,error_reporting=E_ALL&~E_NOTICE&~E_WARNING
重启服务器才能生效
(2)修改错误位置
error_log() 发送错误信息到某个地方
参数:① 应该被记录的错误信息
② 设置发送到何处
0--发送到系统错误日志
1--发送到管理员邮箱中
2--发送到某个对应服务器上
3--发送到目标文件,以字符串形式存储
③ 目标文件
返回值:true/false
(3)自定义错误日志
error_log()写入下面的内容到php错误日志中
;error_log="C:/wamp/logs/php_error.log"
;Log errors to syslog(Event log on windows) //php日志中
;error_log=syslog //系统日志中
trigger_error() 产生一个用户级别的error、warning、notice信息
参数:① 错误信息(1024字节内)
② 该Error所特定的错误类型,默认E_USER_NOTICE
返回值:true/false
Q: 什么时候可以考虑自定义错误处理?
A: ① 可以记下错误信息及时发现一些生产环境出现的问题
② 可以屏蔽错误
③ 可以控制输入报错
④ 可以作为调试工具