- 错误
- 错误和异常不是一回事,错误是开发阶段程序问题,异常是运行阶段意外错误、逻辑错误、语法错误
- PHP中错误报告级别
- trigger_error()和die()函数(trigger_error()(生成警告)
- 错误级别调整
- 在php.ini中配置error_reporting的值可以调整错误报告的级别;
- 配置Php.ini 中的指令可以将错误写进错误日志将错误写进日志,不在页面中展示
- 不可能避免出错
- 错误代号解读
- 系统错误:
- E_PARSE:编译错误,代码不会执行
- E_ERROR:fatal error,致命错误,会导致代码不能正确继续执行(出错的位置断掉)
- E_WARNING:warning,警告错误,不会影响代码执行,但是可能得到意想不到的结果
- E_NOTICE:notice,通知错误,不会影响代码执行
- 用户错误:E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE
- 用户在使用自定义错误触发的时候,会使用到的错误代号(系统不会用到)
- 其他:E_ALL,代表着所有从错误(通常在进行错误控制的时候使用比较多),建议在开发过程中(开发环境)使用
- 所有以E开头的错误常量(代号)其实都是由一个字节存储,然后每一种错误占据一个对应的位,如果想进行一些错误的控制,可以使用位运算进行操作
- 排除通知级别notice:E_ALL & ~E_NOTICE
- 只要警告和通知:E_WARNING | E_NOTICE
- 系统错误:
- 异常
- throw抛出异常,catch捕获异常