php 错误处理与异常处理方法与实例教程

在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在php开发中,错误处理函数并且举例说明错误处理的重要性。

1、内置异常处理类、2、捕获并处理异常的示例、3、exception类的成员函数getmessage()、4、exception类的成员函数getfile()、5、exception类的成员函数getline()、6、显示警告或错误信息、7、自定义错误处理函数。

1,内置异常处理类

  1.  class exception 
  2.     protected $message = 'unknown exception';   // 异常信息 
  3.     protected $code = 0;                        // 用户自定义异常代码 
  4.     protected $file;                            // 发生异常的文件名 
  5.     protected $line;                            // 发生异常的代码行号 
  6.     function __construct($message = null, $code = 0); 
  7.     final function getmessage();                // 返回异常信息 
  8.     final function getcode();                   // 返回异常代码 
  9.     final function getfile();                   // 返回发生异常的文件名 
  10.     final function getline();                   // 返回发生异常的代码行号 
  11.     final function gettrace();                  // backtrace() 数组 
  12.     final function gettraceasstring();          // 已格成化成字符串的 gettrace() 信息 
  13.     function __tostring();                      // 可输出的字符串 

2、捕获并处理异常的示例

  1. try 
  2.     $error = '抛出异常信息,并且跳出try块<br/>'
  3.     if(is_dir('./test')) 
  4.     { 
  5.         echo '检测到../ch16是一个目录'
  6.         echo '<br/>'
  7.         echo '可能继续做其他一些操作'
  8.         echo '<br/>'
  9.         echo '….'
  10.         echo '<br/>'
  11.     } 
  12.     else 
  13.     { 
  14.         throw new exception($error,12345); 
  15.     } 
  16.     echo '上面throw异常的话,这行代码不会执行,转而执行catch块<br/>'
  17. catch(exception $e
  18.     echo '捕获异常: ' . $e->getmessage() . "<br/>错误代码:" . $e->getcode().'<br/>';    //显示$error和123456 
  19.     echo '<br/>'
  20. echo '继续执行'

3、exception类的成员函数getmessage()

  1. $file = './test/readme.txt'
  2. try 
  3.     if(is_dir($file)) 
  4.     { 
  5.         echo '检测到目录'
  6.     } 
  7.     else 
  8.     { 
  9.         //创建异常对象,错误信息将有exception类的成员函数getmessage()返回 
  10.         throw new exception('未找到该目录或文件'); 
  11.     } 
  12. catch(exception $e
  13.     echo '捕获异常: ' . $e->getmessage(); 
  14.     echo '<br/>==============================='
  15.     echo '<br/>'
  16. echo '程序执行完毕'

4、exception类的成员函数getfile()

  1. $file = './test/readme.txt'
  2. try 
  3.     if(is_dir($file)) 
  4.     { 
  5.         echo '检测到目录'
  6.     } 
  7.     else 
  8.     { 
  9.         //创建异常对象,错误信息将有exception类的成员函数getmessage()返回 
  10.         throw new exception('未找到该目录或文件'); 
  11.     } 
  12. catch(exception $e
  13.     echo '捕获异常: ' . $e->getmessage(); 
  14.     echo '<br/><br/>'
  15.     echo '错误所在文件:'$e->getfile(); 
  16.     echo '<br/>==============================='
  17.     echo '<br/>'
  18. echo '程序执行完毕'
  19.   

5、exception类的成员函数getline()

  1.  $file = './test/readme.txt'
  2. try 
  3.     if(is_dir($file)) 
  4.     { 
  5.         echo '检测到目录'
  6.     } 
  7.     else 
  8.     { 
  9.         //创建异常对象,错误信息将有exception类的成员函数getmessage()返回 
  10.         throw new exception('未找到该目录或文件'); 
  11.     } 
  12. catch(exception $e
  13.     echo '捕获异常: ' . $e->getmessage(); 
  14.     echo '<br/><br/>'
  15.     echo '错误所在文件:'$e->getfile(); 
  16.     echo '<br/><br/>'
  17.     echo '错误所在行号:'$e->getline(); 
  18.     echo '<br/>==============================='
  19.     echo '<br/>'
  20. echo '程序执行完毕'

6、显示警告或错误信息

  1.  error_reporting(e_warning | e_error);    //显示警告和错误信息 
  2. echo $uvar;                        //这里产生注意信息,但不会显示出来 
  3. callfunc();                            //这里产生一个致命错误,并且会显示出来 
  4.  // 7、自定义错误处理函数。 
  5.  set_error_handler('myhandler');     //自定义错误处理函数 
  6. function myhandler($code$msg$file$line
  7.     echo "<br/>"
  8.     echo "程序 <b>$file</b> 执行过程中,在第 <b>$line</b> 行,产生一个错误。"
  9.     echo "<br/>"
  10.     echo "错误代码为:<b>$code</b>, 错误的原因是: <b>$msg</b>"
  11. echo $uvar
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php 错误处理与异常处理方法与实例教程

4 评论

  1. buy spironolactone 100mg without prescription propecia brand diflucan 200mg usa

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡