set_exception_handler 设置用户自定义的异常处理函数

发表日期:2021-07-01 08:54:56 | 来源: | | 浏览(841) 分类:错误处理 函数

set_exception_handler

(PHP 5, PHP 7, PHP 8)

set_exception_handler   设置用户自定义的异常处理函数  

说明

set_exception_handler(callable $exception_handler): callable

设置默认的异常处理程序,用于没有用 try/catch 块来捕获的异常。   在 exception_handler 调用后异常会中止。

参数


  • exception_handler

  • 当一个未捕获的异常发生时所调用函数的名称。       该处理函数需要接受一个参数,该参数是一个抛出的异常对象。       PHP 7 以前的异常处理程序签名:


    handler(Exception $ex): void


    自 PHP 7 以来,大多数错误抛出  Error 异常,也能被捕获。             Error   和 Exception 都实现了 Throwable 接口。       PHP 7 起,处理程序的签名:


    handler(Throwable $ex): void


    也可以传递 null 值用于重置异常处理函数为默认值。

    警告  

    注意,如果在用户回调里将 ex 参数的类型明确约束为Exception, PHP 7 中由于异常类型的变化,将会产生问题。


返回值

返回之前定义的异常处理程序的名称,或者在错误时返回 null。   如果之前没有定义错误处理程序,也会返回 null

更新日志


版本说明
7.0.0传入 exception_handler 的参数从 Exception 改为 Throwable  
5.5.0之前版本里,如果传入 null ,函数会返回 true。        自 PHP 5.5.0 后,会返回上一次的异常处理器。


范例


示例 #1 set_exception_handler() 范例

<?php 
function exception_handler($exception) {
  echo "Uncaught exception: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Uncaught Exception');
echo "Not Executed\n";
?>


参见



集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。