# set_exception_handler

(PHP 5, PHP 7, PHP 8)

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

### 说明

set_exception_handler(?callable `$callback`): ?callable

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

### 参数

`callback`

  当一个未捕获的异常发生时所调用的函数。该处理函数需要接受一个参数，该参数是抛出的 Throwable 对象。Error 和 Exception 都实现了 Throwable 接口。这是处理程序签名：

  handler(Throwable `$ex`): void

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

### 返回值

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

### 示例

示例 #1 set_exception_handler() 范例

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

### 参见

- get_exception_handler() - 获取用户定义的异常处理函数
- restore_exception_handler() - 恢复之前定义过的异常处理函数。
- restore_error_handler() - 还原之前的错误处理函数
- error_reporting() - 设置应该报告何种 PHP 错误
- 异常

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open