PHP 擴充套件異常


簡介

Exception 類實現了 Throwable 介面,並且是所有 Exception 類的基類,包括預定義異常和使用者定義異常。Exception 類定義了一些 final(不可重寫)方法來實現 Throwable 介面中的方法,以及 __toString() 方法,該方法可以被重寫以返回 Exception 物件的字串表示形式。

final public function getMessage()異常資訊
final public function getCode()異常程式碼
final public function getFile()原始檔名
final public function getLine()原始碼行號
final public function getTrace()backtrace() 的陣列
final public function getPrevious()前一個異常
final public function getTraceAsString()格式化的跟蹤字串
public function __toString()格式化的顯示字串

如果使用者定義的異常類重新定義了建構函式,則應該呼叫 parent::__construct() 以確保所有可用資料都已正確分配。

示例

以下指令碼定義了一個名為 myException 的自定義異常類。如果 $num 的值小於 0 或大於 100,則會丟擲此型別的異常。Exception 類的 getMessage() 方法返回錯誤訊息,而 getLine() 方法返回出現異常的程式碼行號。

示例

線上演示

<?php
class myException extends Exception{
   function message(){
      return "error : " . $this->getMessage() . " in line no " . $this->getLine();
   }
}
$num=125;
try{
   if ($num>100 || $num<0)
      throw new myException("$num is invalid number");
   else
      echo "$num is a valid number";
}
catch (myException $m){
   echo $m->message();
}
?>

輸出

使用 $num=125 和 $num=90 執行以上程式碼,以獲取錯誤訊息和有效數字的訊息。

error : 125 is invalid number in line no 10

更新於: 2020-09-18

805 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.