最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

php中错误处理操作实例分析

来源:懂视网 责编:小采 时间:2020-11-27 14:43:10
文档

php中错误处理操作实例分析

php中错误处理操作实例分析:本文实例讲述了php中错误处理操作。分享给大家供大家参考,具体如下: 错误触发 有2种触发: 系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量 E_WARNING:警告性错误,比如include载入一个不存在的文件 E_ERROR:致命错误,导致程序无法执行后续
推荐度:
导读php中错误处理操作实例分析:本文实例讲述了php中错误处理操作。分享给大家供大家参考,具体如下: 错误触发 有2种触发: 系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量 E_WARNING:警告性错误,比如include载入一个不存在的文件 E_ERROR:致命错误,导致程序无法执行后续

本文实例讲述了php中错误处理操作。分享给大家供大家参考,具体如下:

错误触发

有2种触发:

系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量
E_WARNING:警告性错误,比如include载入一个不存在的文件
E_ERROR:致命错误,导致程序无法执行后续语句,比如调用一个不存在的函数

自定义触发:
语法形式:trigger_error("错误提示信息内容",3种用户错误代号之一);
其中触发了用户的致命错误(E_USER_ERROR),也会终止程序的后续执行

错误显示

是否显示错误报告(display_errors)

有2种来设定是否显示:

1.在php.ini文件中,设定display_erros的值,为on(显示),或为off(不显示),开发阶段应该为on,显示错误信息

2.直接在php脚本文件中设定ini_set("display_errors",0);//不显示错误报告,1为显示
显示哪些级别的错误报告(error_reporting)
前提是"display_errors"设置为on(或1),表示可以显示
1.在php.ini文件中 error_reporting=E_ALL | E_STRICT这个值代表所有错误

  • 在当前的脚本代码中设置
  • ini_set("error_reporting",E_NOTICE); //就显示该一个级别的错误
    ini_set("error_reporting",E_NOTICE| E_WARNING); //显示该2个级别的错误
    //禁用错误报告
    error_reporting(0);
    //报告运行时错误
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    //报告所有错误
    error_reporting(E_ALL);
    
    

    错误日志记录

    错误日志其实就是错误报告,只是会写入文件中,此时就称为错误日志

    是否记录log_errors

    php.ini中:log_errors=on或off 脚本中:ini_set("log_erros",1);或0
    补充: ini_set("php配置项",值);//用于脚本中设置php.ini中某项的值
    $v=ini_get("php配置项");//用于获取php.ini中某项的值

    记录到哪里error_log

    一般就只有2个写法:

    1.直接写一个文件名,系统会自动在每个文件夹下都建立该文件名,并用其记录该文件夹下的所有网页文件发生的错误信息ini_set("error_log","my_error.txt");//记录到该文件

    2.使用一个特殊的名字"syslog",则所有的错误信息都会记录到系统的"日志文件中".系统日志文件在这里:控制面板》管理工具》事件查看器》window日志》应用程序:

    ini_set("error_log","syslog");//记录到系统日志中

    自定义错误处理器

    让系统不要去处理错误了,完全由开发者对错误进行处理:显示和记录

    第一步:设定要用于处理错误的函数名:set_error_handler("f1");

    第二步:去定义该函数function f1() {这里可以写任意代码,正常去显示错误报告,和记录}

    例:

    set_error_handler("my_error_handler");
    //定义该函数,需要定义4个形参分别代表$errCode:代表错误代号(级别) $errMsg:代表错误//信息内容 $errFile:代表错误的文件名 $errLine:代表错误的行号,一旦发生错误自动调用
    function my_error_handler($errCode,$errMsg,$errFile,$errLine) {
     $str="";
     $str .="<p><font color='red'>大事不好,发生错误:</font>";
     $str .="<br />错误代号为:".$errCode;
     $str .="<br />错误内容为:".$errMsg;
     $str .="<br />错误代号为:".$errFile;
     $str .="<br />错误代号为:".$errLine;
     $str .="<br />发生时间为:".date("Y-d-m H:i:s");
     $str .="</p>";
     echo $str; //
    输出该构建完整的错误处理结果,也可以将改内容写到某个文件中去 }

    异常抛出

    function checkAge($age){
     if($age>100) throw new Exception('年龄不能大于100');
     echo '年龄符合规范';
    }
    //如果年龄大于100,抛出异常
    try{
     checkAge(200);
    }catch(Exception $e){
     echo $e->getMessage();
    }
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    文档

    php中错误处理操作实例分析

    php中错误处理操作实例分析:本文实例讲述了php中错误处理操作。分享给大家供大家参考,具体如下: 错误触发 有2种触发: 系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量 E_WARNING:警告性错误,比如include载入一个不存在的文件 E_ERROR:致命错误,导致程序无法执行后续
    推荐度:
    标签: 操作 处理 错误
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top