此函數用於建立執行時間期間的使用者自己的例外處理方法。
函數會傳回舊的異常處理程序,若失敗,則傳回 null。
set_exception_handler(exception_function)
參數 | #描述 |
---|---|
error_function | 必要。規定未捕獲的異常發生時呼叫的函數。 函式必須在呼叫 set_exception_handler() 函式之前定義。 這個異常處理函數需要需要一個參數,也就是拋出的 exception 物件。 |
提示:在這個例外處理程序被呼叫後,腳本會停止執行。
<?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(“myException”) 不只可以接受函數 ,還可以接受類別的方法(公開的靜態方法及公開的非靜態方法都可以),但需要以數組形式 傳遞,數組的第一值為“類別名稱”,第二個參數為“方法名稱”,如下程式碼所示:
<?php class App{ function myException($exception) { echo "<b>Exception:</b> " , $exception->getMessage(); } } set_exception_handler(array('App','myException')); throw new Exception('Uncaught Exception occurred'); ?>
以上是php set_exception_handler()函數的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!