PHP set_exception_handler() 函數

實例

設置用戶定義的異常處理函數:

<?php
// 用戶定義的異常處理函數
 function myException($exception) {
     echo "<b>Exception:</b> ", $exception->getMessage();
 }
 // 設置用戶定義的異常處理函數
 set_exception_handler("myException");
// 拋出異常
throw new Exception("Uncaught exception occurred!");
 ?> 

以上代碼的輸出類似這樣:

Exception: Uncaught exception occurred!

定義和用法

set_exception_handler() 函數設置用戶定義的異常處理函數。

腳本會在此異常處理程序被調用后停止執行。

語法

set_exception_handler(exceptionhandler);
參數 描述
exceptionhandler

必需。規定當一個未捕獲的異常發生時所調用函數的名稱。

注釋:也可以傳遞一個 NULL 值用于重置異常處理函數為默認值。

技術細節

返回值:

返回包含之前定義的異常處理程序的名稱的字符串,或者在錯誤時返回 NULL。

如果之前沒有定義一個錯誤處理程序,也會返回 NULL。

如果參數使用了 NULL,重置處理程序為默認狀態,并且會返回一個 TRUE。

PHP 版本: 5.0+
PHP 更新日志:

PHP 7.0.0:傳遞到 exception_handler 中的參數類型從 Exception 更改為 Throwable。

PHP 5.5:之前,如果傳遞 NULL,該函數返回 TRUE。從 PHP 5.5 起返回之前的處理程序。