set_exception_handler

Sets a user-defined exception handler function

&reftitle.description; ``callable``null```set_exception_handler` ``callable``null```callback`

Sets the default exception handler if an exception is not caught within a try/catch block. Execution will stop after the `callback` is called.

&reftitle.parameters;

`callback`

- The function to be called when an uncaught exception occurs. This handler function needs to accept one parameter, which will be the `Throwable` object that was thrown. Both `Error` and `Exception` implement the `Throwable` interface. This is the handler signature:

  `void```handler`` `Throwable` `ex`

  &null; may be passed instead, to reset this handler to its default state.

&reftitle.returnvalues;

Returns the previously defined exception handler, or &null; on error. If no previous handler was defined, &null; is also returned.

&reftitle.examples;

### `set_exception_handler` example

    <?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";
    ?>

&reftitle.seealso;

- `restore_exception_handler`
- `restore_error_handler`
- `error_reporting`
- Exceptions