一、PHP错误和异常的区别
1、错误(Error):由PHP内部引擎和扩展程序引发,或通过trigger_error()
抛出的错误。
2、异常(Exception):可预见且可处理的错误情况,由开发人员手动创建并抛出。
3、Error和Exception都实现了Throwable接口,大部分Error和所有Exception都可以使用catch (Throwable $e)
同时捕获它们。
二、PHP中的错误处理机制
PHP中的错误类型分类
预定义常量对应不同的错误类型分类(error_type)如下:
1 | E_ERROR |
致命的运行时错误。这类错误一般是不可恢复的情况,例如内存分配导致的问题。后果是导致脚本终止不再继续运行。 |
2 | E_WARNING |
运行时警告 (非致命错误)。仅给出提示信息,但是脚本不会终止运行。 |
4 | E_PARSE |
编译时语法解析错误。解析错误仅仅由分析器产生。 |
8 | E_NOTICE |
运行时通知。表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。 |
16 | E_CORE_ERROR |
在 PHP 初始化启动过程中发生的致命错误。该错误类似 E_ERROR ,但是是由 PHP 引擎核心产生的。 |
32 |