編程學習網 > 編程教程 > PHP7 教程
2016
09-20

PHP7錯誤處理

清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>

從PHP7,錯誤處理和報告已經改變。PHP5中使用了傳統的錯誤報告機制的錯誤,現在大多數的錯誤將通過拋出異常錯誤處理。類似于異常,這些錯誤異常會冒泡,直到它們到達第一個匹配的catch塊。如果沒有匹配的塊,那么會使用 set_exception_handler() 安裝一個默認的異常處理并被調用,并在情況下,如果沒有默認的異常處理程序,那么該異常將被轉換為一個致命的錯誤,并會像傳統錯誤那樣處理。

由于 Error 層次結構不是從異常(Exception),代碼擴展使用catch (Exception $e) { ... } 塊來處理未捕獲的異常,PHP5中將不會處理這樣的錯誤。  catch (Error $e) { ... } 塊或 set_exception_handler()處理程序需要處理的致命錯誤。

Exception Hiearchy 

示例

<?php
class MathOperations 
{
   protected $n = 10;

   // Try to get the Division by Zero error object and display as Exception
   public function doOperation(): string
   {
      try {
         $value = $this->n % 0;
         return $value;
      } catch (DivisionByZeroError $e) {
         return $e->getMessage();
      }
   }
}

$mathOperationsObj = new MathOperations();
print($mathOperationsObj->doOperation());
?>
瀏覽器中將產生以下輸出-
Modulo by zero

掃碼二維碼 獲取免費視頻學習資料

編程學習