PHP异常处理(级别,错误日志,控制错误输出)


PHP的错误级别

首先了解下PHP有哪些错误,截至到PHP5.5,一共有16个错误级别。注意:尝试下面的代码的时候请确保打开error_log:

ini_set('display_errors', 'On');

或者在php.ini配置文件中进行如下设置

  1. error_reporting = E_ALL

    display_errors = on

两者的区别是前者只针对当前脚本有效,后者是全局生效的。

  1. E_ERROR这种错误是致命错误,会在页面显示Fatal Error, 当出现这种错误的时候,程序就无法继续执行下去了

  2. E_WARNING这种错误只是警告,不会终止脚本,程序还会继续进行,显示的错误信息是Warning。比如include一个不存在的文件。

  3. E_NOTICE这种错误程度更为轻微一些,提示你这个地方不应该这么写。这个也是运行时错误,这个错误的代码可能在其他地方没有问题,只是在当前上下文情况下出现了问题。

  4. E_PARSE 这个错误是编译时候发生的,在编译期发现语法错误,不能进行语法分析。

  5. E_STRICT 这个错误是PHP5之后引入的,你的代码可以运行,但是不是PHP建议的写法。

  6. E_RECOVERABLE_ERROR 这个级别其实是ERROR级别的,但是它是期望被捕获的,如果没有被错误处理捕获,表现和E_ERROR是一样的。

  7. E_DEPRECATED 这个错误表示你用了一个旧版本的函数,而这个函数后期版本可能被禁用或者不维护了。

  8. E_CORE_ERROR, E_CORE_WARNING 这两个错误是由PHP的引擎产生的,在PHP初始化过程中发生。

  9. E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_USER_DEPRECATED, 这些错误都是用户制造的,使用trigger_error,这里就相当于一个口子给用户触发出各种错误类型。

  10. E_ALL 列出E_STRICT出外的所有错误和警告信息。


评论0



    0.148314s