多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > php 錯誤處理與異常處理方法與實例教程

php 錯誤處理與異常處理方法與實例教程

來源:程序員人生   發(fā)布時間:2014-02-10 20:11:31 閱讀次數(shù):3779次

在程序開發(fā)中,錯誤處理這一塊是非常重要的,今天本文章就來告訴他關(guān)于在php開發(fā)中,錯誤處理函數(shù)并且舉例說明錯誤處理的重要性。

1、內(nèi)置異常處理類、2、捕獲并處理異常的示例、3、exception類的成員函數(shù)getmessage()、4、exception類的成員函數(shù)getfile()、5、exception類的成員函數(shù)getline()、6、顯示警告或錯誤信息、7、自定義錯誤處理函數(shù)。

1,內(nèi)置異常處理類

  1.  class exception 
  2.     protected $message = 'unknown exception';   // 異常信息 
  3.     protected $code = 0;                        // 用戶自定義異常代碼 
  4.     protected $file;                            // 發(fā)生異常的文件名 
  5.     protected $line;                            // 發(fā)生異常的代碼行號 
  6.     function __construct($message = null, $code = 0); 
  7.     final function getmessage();                // 返回異常信息 
  8.     final function getcode();                   // 返回異常代碼 
  9.     final function getfile();                   // 返回發(fā)生異常的文件名 
  10.     final function getline();                   // 返回發(fā)生異常的代碼行號 
  11.     final function gettrace();                  // backtrace() 數(shù)組 
  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 '可能繼續(xù)做其他一些操作'
  8.         echo '<br/>'
  9.         echo '....'
  10.         echo '<br/>'
  11.     } 
  12.     else 
  13.     { 
  14.         throw new exception($error,12345); 
  15.     } 
  16.     echo '上面throw異常的話,這行代碼不會執(zhí)行,轉(zhuǎn)而執(zhí)行catch塊<br/>'
  17. catch(exception $e
  18.     echo '捕獲異常: ' . $e->getmessage() . "<br/>錯誤代碼:" . $e->getcode().'<br/>';    //顯示$error和123456 
  19.     echo '<br/>'
  20. echo '繼續(xù)執(zhí)行'

3、exception類的成員函數(shù)getmessage()

  1. $file = './test/readme.txt'
  2. try 
  3.     if(is_dir($file)) 
  4.     { 
  5.         echo '檢測到目錄'
  6.     } 
  7.     else 
  8.     { 
  9.         //創(chuàng)建異常對象,錯誤信息將有exception類的成員函數(shù)getmessage()返回 
  10.         throw new exception('未找到該目錄或文件'); 
  11.     } 
  12. catch(exception $e
  13.     echo '捕獲異常: ' . $e->getmessage(); 
  14.     echo '<br/>==============================='
  15.     echo '<br/>'
  16. echo '程序執(zhí)行完畢'

4、exception類的成員函數(shù)getfile()

  1. $file = './test/readme.txt'
  2. try 
  3.     if(is_dir($file)) 
  4.     { 
  5.         echo '檢測到目錄'
  6.     } 
  7.     else 
  8.     { 
  9.         //創(chuàng)建異常對象,錯誤信息將有exception類的成員函數(shù)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 '程序執(zhí)行完畢'
  19.   

5、exception類的成員函數(shù)getline()

  1.  $file = './test/readme.txt'
  2. try 
  3.     if(is_dir($file)) 
  4.     { 
  5.         echo '檢測到目錄'
  6.     } 
  7.     else 
  8.     { 
  9.         //創(chuàng)建異常對象,錯誤信息將有exception類的成員函數(shù)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 '程序執(zhí)行完畢'

6、顯示警告或錯誤信息

  1.  error_reporting(e_warning | e_error);    //顯示警告和錯誤信息 
  2. echo $uvar;                        //這里產(chǎn)生注意信息,但不會顯示出來 
  3. callfunc();                            //這里產(chǎn)生一個致命錯誤,并且會顯示出來 
  4.  // 7、自定義錯誤處理函數(shù)。 
  5.  set_error_handler('myhandler');     //自定義錯誤處理函數(shù) 
  6. function myhandler($code$msg$file$line
  7.     echo "<br/>"
  8.     echo "程序 <b>$file</b> 執(zhí)行過程中,在第 <b>$line</b> 行,產(chǎn)生一個錯誤。"
  9.     echo "<br/>"
  10.     echo "錯誤代碼為:<b>$code</b>, 錯誤的原因是: <b>$msg</b>"
  11. echo $uvar
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲图片二区 | 国产一区自拍视频 | 2021年最新久久久视精品爱 | 国产精品亚洲第五区在线 | 日韩v片 | 亚洲产国偷v产偷v自拍涩爱 | 亚洲日本黄色 | 伊人久久伊人 | 求免费黄色网址 | 成人v| 国产精品 第1页 | 欧美一级在线播放 | 亚洲精品一区二区乱码在线观看 | 欧美精品一区二区三区久久 | 另类综合图片 | 欧美黄色片在线观看 | 亚洲永久网站 | 久久久久久国产精品免费 | xxxxx欧美| 性xxxxx大片免费视频 | 尤物视频网站在线 | 最近中文字幕无吗免费版 | 一级日韩一级欧美 | 亚洲精品老司机综合影院 | 波多野结衣在线不卡 | 一区一区三区产品乱码 | 免费伊人 | 欧美性猛xxxbbb | 好好的曰www视频在线观看 | 欧美激情第二页 | 国产精品亚洲一区二区三区正片 | 日本高清无卡码一区二区久久 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片欧美 | 中文字幕国产在线 | 欧美激情亚洲激情 | 久久五月视频 | 一级做片爱性视频免费 | а中文在线天堂 | 国产老妇一性一交一乱 | 五月天免费在线视频 | 欧美日韩一级黄色片 |