程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用實例來理解PHP5異常處理

用實例來理解PHP5異常處理

編輯:關於PHP編程

一個程序的編寫難免會出現各種各樣的錯誤,那麼我如何來處理這些錯誤,或將錯誤顯示出來方便我們查找更改呢?這就用到了異常處理。這裡我們將向大家介紹5異常處理的相關概念。

PHP5異常處理

PHP 5 添加了類似於其它語言的異常處理模塊。在 PHP 代碼中所產生的異常可被throw語句拋出並被catch語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以 便捕獲可能存在的異常。

每一個 try 至少要有一個與之對應的 catch。使用多個 catch  可以捕獲不同的類所產生的異常。當 try 代碼塊不再拋出異常或者找不到 catch 能匹配 所拋出的異常時,PHP 代碼就會在跳轉到最後一個 catch 的後面繼續執行。

當然,PHP5異常處理允許在 catch 代碼塊內再次拋出(throw)異常。 當一個異常被拋出時,其後(譯者注:指拋出異常時所在的代碼塊)的代碼將不會繼續  執行,而PHP 就會嘗試查找第一個能與之匹配的 catch。

如果一個異常沒有被捕獲,而  且又沒用使用 set_exception_handler() 作相應的處理的話,那麼PHP將會產生一個嚴重的錯誤,並且輸出 Uncaught Exception ... (未捕獲異常)的提示信息。 

PHP5異常處理的異常類的屬性與方法 

以下這段代碼只為說明內置異常處理類的結構,它並不是一段有實際意義的可用代碼。

  1. <?php  
  2. class Exception{   
  3. protected $message = 'Unknown 
    exception';   
  4. // 異常信息   
  5. protected $code = 0;   
  6. // 用戶自定義異常代碼   
  7. protected $file;   
  8. // 發生異常的文件名   
  9. protected $line;   
  10. // 發生異常的代碼行號   
  11. function __construct($message = 
    null, $code = 0);   
  12. final function getMessage();   
  13. // 返回異常信息   
  14. final function getCode();   
  15. // 返回異常代碼(代號)   
  16. final function getFile();  
  17.  // 返回發生異常的文件名   
  18. final function getLine();   
  19. // 返回發生異常的代碼行號   
  20. final function getTrace();   
  21. // backtrace() 數組   
  22. final function getTraceAsString();   
  23. // 已格成化成字符串的 getTrace() 信息  
  24. //可重載的方法   
  25. function __toString();   
  26. // 可輸出的字符串   
  27. }   
  28. ?>   
  29.  

以上就是對PHP5異常處理的分析,希望對又需要的朋友有所幫助。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved