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

首頁 > 開發 > PHP > 正文

PHP異常處理、錯誤報告、日志

2024-05-04 21:47:34
字體:
來源:轉載
供稿:網友

在php中我們會經常碰到一些錯誤要去處理,下面我來總結php中的異常處理、錯誤報告、日志一些內容總結與介紹。

錯誤處理:

1.語法錯誤

2.運行時錯誤

3.邏輯錯誤

錯誤報告:

錯誤:E_ERROT 程序會中斷,發生錯誤

警告:E_WARNING 程序不會中斷,但可能部分功能沒有實現

注意:E_NOTICE 不會影響程序,完全可以屏蔽

開發時輸出所有錯誤報告,運行時禁用所有錯誤報告

將錯誤寫入到日志中:

1.開啟日志(php.ini中error_log = On),且關閉錯誤報告,錯誤(如果發生,但沒有允許直接輸出)日志將會被記錄

2.如不指定日志路徑,將默認寫入web服務器日志中

設置錯誤報告:

error_reporting(E_ALL) //輸出所有報告

修改php.ini配置文件,代碼如下:

ini_set(“display_errors”,off) //修改為不顯示錯誤報告

ini_get(“upload_max_filesize”) //讀取配置文件中上傳文件大小限制

異常處理:

是在程序運行中發生的意料之外的事,使用異常改變腳本正常流程,PHP 5 提供了一種新的面向對象的錯誤處理方法,異常處理用于在指定的錯誤(異常)情況發生時改變腳本的正常流程,這種情況稱為異常。

當異常被觸發時,通常會發生:

當前代碼狀態被保存,代碼執行被切換到預定義的異常處理器函數,根據情況,處理器也許會從保存的代碼狀態重新開始執行代碼,終止腳本執行,或從代碼中另外的位置繼續執行腳本.

我們將展示不同的錯誤處理方法:

異常的基本使用,創建自定義的異常處理器,多個異常,重新拋出異常,設置頂層異常處理器,語法代碼如下:

  1. try{ 
  2. 可能出錯的代碼 
  3. throw new Exception(“異常信息”) 
  4. }catch(Exception $e[異常對象]){ 
  5. 后面的正常代碼 

實例代碼如下:

  1. function   runtimeErrorHandler($level,$string)  
  2.  
  3. //自定義錯誤處理時,手動拋出一個異常實例 
  4. //為了把錯誤級別代碼也顯示出來,這里拼接了錯誤代碼和錯誤信息作為新的錯誤信息來傳遞。 
  5. throw   new   Exception($level.'|'.$string);  
  6. }  
  7. //設置自定義錯誤處理函數 
  8. set_error_handler( "runtimeErrorHandler"); 
  9. try 
  10. $a=2/0;   
  11. //這里制造一個以前無法截獲的除0錯誤 
  12. catch(Exception $e
  13. echo '錯誤信息:'$e->getMessage(); 
  14. //顯示錯誤,這里就可以看到錯誤級別和錯誤信息了“2|Division by zero” 

1.如果try中代碼沒有異常,則正常執行.

2.如果try中代碼有異常,則拋出一個異常對象,在catch()中捕捉$e就指向異常對象,再繼續向下執行.

3.$e->getMessage()獲取異常信息

自定義異常類:

作用:寫一些方法解決特定異常(內置的類沒有處理方法)

1.自定義異常類,必須是Exception(內置類)的子類

2.Exception類中只有構造方法和toString()可以重寫

3.定義需要的方法

異常的規則

需要進行異常處理的代碼應該放入 try 代碼塊內,以便捕獲潛在的異常,每個 try 或 throw 代碼塊必須至少擁有一個對應的 catch 代碼塊,使用多個 catch 代碼塊可以捕獲不同種類的異常,可以在 try 代碼塊內的 catch 代碼塊中再次拋出(re-thrown)異常.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤山市| 大名县| 盈江县| 罗源县| 济南市| 万山特区| 徐州市| 呈贡县| 武威市| 红河县| 金昌市| 农安县| 竹溪县| 永定县| 鄂伦春自治旗| 屯留县| 华亭县| 枞阳县| 馆陶县| 玉林市| 灵石县| 沭阳县| 吴旗县| 桐乡市| 隆回县| 边坝县| 岢岚县| 司法| 潢川县| 乌审旗| 科技| 那曲县| 团风县| 凉山| 文化| 宁陕县| 杭锦后旗| 海口市| 稷山县| 平顶山市| 喀喇|