国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

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

2024-05-04 21:56:50
字體:
來源:轉載
供稿:網(wǎng)友

在程序開發(fā)中,錯誤處理這一塊是非常重要的,今天本文章就來告訴他關于在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í)行,轉而執(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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 霍邱县| 靖边县| 甘孜县| 缙云县| 阳新县| 西平县| 海安县| 顺平县| 宁陕县| 项城市| 武穴市| 泽普县| 曲松县| 肇州县| 阳谷县| 习水县| 会宁县| 奉新县| 东至县| 宁河县| 津市市| 长沙县| 仁寿县| 山阴县| 迁安市| 颍上县| 伊川县| 永和县| 万盛区| 芜湖县| 聂荣县| 吴桥县| 高州市| 米林县| 延庆县| 玉田县| 屏东市| 安顺市| 安龙县| 玉田县| 石城县|