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
参数错误,函数传入参数个数少于函数参数。