PHP 7 可以通过 try_catch 来捕获错误 Error 和异常 Exception。
参考资料
- 如何捕获语法解析错误 https://segmentfault.com/a/1190000014926703
ini 设置
生产环境中不启用错误显示。
打开错误报告
php.ini
1 | error_reporting = E_ALL # 错误报告级别 |
脚本中设置
1 | ini_set("display_errors",'On'); |
错误报告级别
E_[ALL | ERROR | WARNING | PARSE | NOTICE | STRICT | RECOVERABLE_ERROR | E_DEPRECATED]E_CORE_[ERROR | WARNING]E_COMPILE_[ERROR | WARNING]E_USER_[ERROR | WARNING | NOTICE | DEPRECATED]
错误与异常捕获
可以像捕获异常那样来捕获错误。
1 | try { |
错误与异常种类
Error 和 Exception 都实现了 Throwable 接口。
ArithmeticError算术运算错误DivisionByZeroError除数为 0 时错误
AssertionError断言错误ParseError语法错误TypeError函数类型错误(1.参数类型约束;2.返回值类型约束;3.参数个数少于函数参数)ArgumentCountError参数错误,函数传入参数个数少于函数参数。