• PHP知识点--错误处理


    一、错误的分类

    语法错误:
    程序没法运行,直接提示语法错误。

    运行时错误:
    只有程序运行到某行,或在某些特定的情形下运行才会发生的错误。

    逻辑错误:
    程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的。

    我们程序员主要面对的和要处理(应付)的错误,就是运行时错误。

    二、错误的分级
    系统错误:
    E_ERROR:系统严重错误
    一发生,程序立即停止执行。
    该错误一般希望马上。
    E_WARNING:系统警告
    一发生,提示错误,并继续执行。
    通常该错误希望能够在“下一工作日”去处理掉(解决)。
    E_PARSE:语法错误
    一发生,提示错误,而且代码完全不会运行——在运行之前先检查语法。
    E_NOTICE:系统提示
    一发生,提示错误,并继续执行。
    发个邮件通知一下,自己安排时间有空去解决。

    三、用户自定义错误
    只有3个:
    E_USER_ERROR;

    E_USER_WARNING;

    E_USER_NOTICE;
    我们可以在程序中,自己创建(生成)错误——是为了针对某些数据的不合理情形,而创建的错误。
    比如:让用户填写年龄, 填18是ok,但填写188就是不合理——从数字角度本身是没有问题。
    其他:
    E_ALL; 代表所有错误——表示它可以“包括”错误。
    E_STRICT: 代表“严格性”语法检查错误——某种语法是可以执行的,但在当前的php版本中是不欢迎使用。

    四、错误的触发:
    1、正常触发:
    程序运行时确实发生了运行时错误——也可能是语法检查错误。
    2、人工触发:
    就是由程序员通过程序代码而“产生”一个错误。
    应用中,通常是需要检测(判断)数据的有效性,以决定是否触发相应错误


    五、错误的显示控制
    网页中显示(提示)错误信息,是可以进行控制的,有2种途径:
    1,在php.ini文件中设定,对所有php程序都有效;
    2,在当前脚本文件中,只对当前脚步文件有效。

    错误的显示有2个方面可以进行控制;
    1,设定是否显示:display_error:
    2,设定显示哪些级别的错误——依赖与第一项设定为显示的情况。


    六、记录错误日志
    记录错误日志有2种途径:
    1,在Php.ini文件中设定:
    可见,页面中显示的错误提示内容,和日志文件中记录的错误信息内容,一样。
    error_log还有一个特殊值可以使用:
    error_log = syslog; //此时不会记录错误日志文件,而是把错误信息写入到系统错误日志中
    2,在当前脚本文件中:
    ini_set(“log_errors” , On); //或者Off
    ini_set(“error_log”, ‘err1.log’); //后缀随便用
    ini_set(“error_log”, ‘err2.txt’);
    ini_set(“error_log”, ‘err3.html’);
    int_set(“error_log”, syslog); //记录到操作系统日志中。
    自定义错误处理
    以上的错误处理,不管是显示错误,还是记录错误日志,都是php语言内部实现的。
    我们只是几个简单的设定是否显示或是否记录或显示哪些,或记录到哪里。
    则:
    自定义错误处理,就可以让我们自己完全控制错误的提示内容!
    做法非常简单:
    1,设定要用来进行自定义处理错误的自定义函数名;
    2,自己去定义该函数,并在其中进行任何错误信息的输出(或记录)。
    这两件事做好后,一旦发生错误,则系统就会调用该函数去执行里面的代码——想干嘛干嘛。

  • 相关阅读:
    确定查询各阶段消耗的时间
    mysql 处理查询请求过程
    如何获取有性能问题的SQL
    索引优化策略
    CXF支持 SOAP1.1 SOAP1.2协议
    MYSQL 基于GTID的复制
    poj2056
    poj2049
    poj1033
    poj1221
  • 原文地址:https://www.cnblogs.com/1301694f/p/8366709.html
Copyright © 2020-2023  润新知