简单点说,是两大类四小级别
错误类型
1、编译错误
编译时语法等错误,最容易解决。
2、执行错误
编译后,执行时阶段,根据报错级别来决定是否终止程序。
其实还有一类不属于php的错误机制,是程序员认为的逻辑错误
因为逻辑不清晰而产生的错误最难排查,执行成功,但最终的结果不是期望的。
错误级别
E_ERROR 致命错误,一旦发生就会中断程序的执行。 如连续两次使用相同名称来定义一个函数 E_WRRING 警告错误,一旦发生并不会中断程序的执行。 E_NOTICE 提示错误,一旦发生并不会中断程序的执行。 E_PARSE 编译错误,一旦发生就会中断程序的执行。
以上都可以说是系统错误,php还可以自定义错误
自定义错误
当您需要在运行脚本时的某个指定条件下自定义错误消息时,该函数很有用。
如果指定了一个不合法的错误类型,该函数返回 FALSE,否则返回 TRUE。
语法:trigger_error(error_message,error_types)
参数: error_message必需。规定错误消息。长度限制为 1024 个字符。 error_types可选。规定错误消息的错误类型。
可能的错误类型: E_USER_ERROR - 用户生成的运行时的致命错误。不能恢复的错误。停止执行脚本。 E_USER_WARNING - 用户生成的运行时的非致命警告。脚本没有停止执行。 E_USER_NOTICE - 默认。用户生成的运行时的通知。脚本发现可能是一个错误,但也可能在脚本正常运行时发生。
错误触发
系统错误由php检查并触发
自定义错误由函数触发
错误机制好处是在记录错误,apache的log/error.log(trigger_error本质写入文件,fwrite())
错误的控制
可修改php.ini相关控制开关以及显示错误级别,具体百度了解,无需多说
|