首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

set_exception_handler

(PHP 5, PHP 7)

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

描述

代码语言:javascript
复制
callable set_exception_handler ( callable $exception_handler )

如果在 try / catch 0块中未捕获到异常,则设置默认异常处理程序。exception_handler被调用后执行将停止。

参数

exception_handler

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

代码语言:javascript
复制
void handler ( Exception $ex )

自PHP 7以来,大多数错误都是通过抛出错误异常来报告的,这些异常也会被处理程序捕获。错误和异常实现 Throwable 接口。这是自 PHP 7 0以来的处理程序签名:

代码语言:javascript
复制
void handler ( Throwable $ex )

NULL 可能会传递,以重置此处理程序为其默认状态。

警告

请注意,为ex回调中的参数提供明确的 Exception 类型提示将导致 0PHP 7中更改的异常层次结构问题。

返回值

返回以前定义的异常处理程序的名称,或者NULL出错。如果没有定义以前的处理程序,NULL也会返回。

更新日志

描述

7.0.0

传递到 exception_handler 的参数类型已从 Exception 更改为 Throwable

5.5.0

以前,如果传递 NULL,那么这个函数返回 0TRUE。它从 PHP 5.5.0开始返回以前的处理程序。

例子

示例#1 set_exception_handler()示例

代码语言:javascript
复制
<?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";
?>
  • restore_exception_handler() - 恢复先前定义的异常处理函数
  • restore_error_handler() - 恢复以前的错误处理函数
  • error_reporting() - 设置报告哪些 PHP 0错误
  • 有关回调类型的信息
  • PHP 5 Exceptions

← set_error_handler

trigger_error →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com