首頁 > 後端開發 > PHP問題 > php7如何拋出異常

php7如何拋出異常

(*-*)浩
發布: 2023-02-26 14:32:01
原創
3906 人瀏覽過

PHP 7 改變了大多數錯誤的報告方式。不同於 PHP 5 的傳統錯誤回報機制,現在大多數錯誤都被當作 Error 異常拋出。

php7如何拋出異常

這種 Error 異常可以像普通例外一樣被 try / catch 區塊所捕獲。如果沒有符合的 try / catch 區塊, 則呼叫異常處理函數(由 set_exception_handler() 註冊)進行處理。

如果尚未註冊異常處理函數,則按照傳統方式處理:被報告為一個致命錯誤(Fatal Error)。 (推薦學習:PHP影片教學

Error 類別並不是從Exception 類別擴展出來的,所以用catch (Exception $e) { ... } 這樣的程式碼是捕獲不到Error 的。你可以用 catch (Error $e) { ... } 這樣的程式碼,或是透過註冊異常處理函數( set_exception_handler())來捕捉 Error。

Error 異常層次結構

php7如何拋出異常

#實例

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

   // 求余数运算,除数为 0,抛出异常
   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
登入後複製

以上是php7如何拋出異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板