php

php的错误机制

dafenqi
2023-06-05 / 0 评论 / 17 阅读 / 正在检测是否收录...

简单点说,是两大类四小级别

错误类型

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相关控制开关以及显示错误级别,具体百度了解

0

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/testblog.58heshihu.com/var/Widget/Archive.php on line 1032

评论 (0)

取消