首頁 >後端開發 >php教程 >PHP ErrorException(PHP錯誤異常)

PHP ErrorException(PHP錯誤異常)

王林
王林轉載
2023-08-30 18:25:021810瀏覽

PHP ErrorException(PHP错误异常)

介紹

PHP的Exception類別實作了Throwable介面。 ErrorException類別繼承了Exception類別。當您想要捕獲和處理否則會被忽略的錯誤,例如通知或警告時,可以明確地拋出ErrorException。

PHP核心包含以下預先定義的錯誤常數

#值 常數 描述
1 E_ERROR 致命的執行階段錯誤。
2 E_WARNING 執行階段警告(非致命錯誤)。
4 E_PARSE 編譯時解析錯誤。
8 E_NOTICE 執行時間通知。
16 E_CORE_ERROR #在PHP的初始啟動過程中發生的致命錯誤。
32 E_CORE_WARNING 在PHP的初始啟動過程中發生的警告(非致命錯誤)。
64 E_COMPILE_ERROR 致命的編譯時錯誤。
128 E_COMPILE_WARNING 編譯時警告(非致命錯誤)。
256 E_USER_ERROR 使用者產生的錯誤訊息。
512 E_USER_WARNING 使用者產生的警告訊息。
1024 E_USER_NOTICE 使用者產生的通知訊息。
2048 E_STRICT #如果啟用,PHP建議更改您的程式碼,以確保程式碼的互通性和向前相容性。
4096 E_RECOVERABLE_ERROR 可捕獲的致命錯誤。
8192 E_DEPRECATED 執行階段通知。
16384 E_USER_DEPRECATED 使用者產生的警告訊息。
32767 E_ALL #所有錯誤和警告,E_STRICT

除了從Exception類別繼承的屬性和方法外,ErrorException類別還引入了一個屬性和一個方法,如下所示−

protected int severity ;
final public getSeverity ( void ) : int

異常的嚴重性由上表中與錯誤類型相關的整數表示

#ErrorException範例

在下面的腳本中,使用者定義的函數errhandler透過通过set_error_handler()函數將strong>設定為錯誤處理程序。當遇到無法讀取檔案的致命錯誤時,它會拋出 ErrorException。

範例

 即時示範

<?php
function errhandler($severity, $message, $file, $line) {
   if (!(error_reporting() & $severity)) {
      echo "no error";
      return;
   }
   throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR);
}
set_error_handler("errhandler");
/* Trigger exception */
try{
   $data=file_get_contents("nofile.php");
   echo $data;
}
catch (ErrorException $e){
   echo $e->getMessage();
}
?>

上面的範例顯示以下輸出

輸出

Fatal Error:No such file or directory

以上是PHP ErrorException(PHP錯誤異常)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除