Définit une fonction utilisateur de gestion d'exceptions

# set_exception_handler

(PHP 5, PHP 7)

set_exception_handler — Définit une fonction utilisateur de gestion d'exceptions

### Description

set_exception_handler ( callable `$exception_handler` ) : callable

set_exception_handler() définit le gestionnaire d'exceptions par défaut si une exception n'est pas attrapée avec un bloc d'essai/d'attrape. L'exécution sera stoppée après l'appel à la fonction `exception_handler`.

### Liste de paramètres

`exception_handler`

  Nom de la fonction à appeler lorsqu'une exception qui n'a pu être attrapée survient. Ce gestionnaire doit accepter un paramètre qui sera l'objet représentant l'exception qui vient d'être lancée. C'est le gestionnaire de signature avant PHP 7 :

  handler ( Exception `$ex` ) : void

  Depuis PHP 7, la plupart des erreurs sont rapportées en émettant une exception de type Error, qui peut être attrapée par le gestionnaire. Les classes Error et Exception implémentent l'interface Throwable. Voici la signature du gestionnaire depuis PHP 7 :

  handler ( Throwable `$ex` ) : void

  `NULL` peut être passé à la place, pour ré-initialiser ce gestionnaire en son statut initial.

  Attention

  Notez que le fait de fournir explicitement le type Exception pour le paramètre `ex` dans votre fonction de rappel peut avoir des incidences dans la hiérarchie des exceptions modifiées en PHP 7.

### Valeurs de retour

Retourne le nom du gestionnaire précédemment défini ou `NULL` en cas d'erreur. Si aucun gestionnaire n'a été précédemment défini, `NULL` est également retourné.

### Historique

Version | Description
--- | ---
7.0.0 | Le type du paramètre passé dans `exception_handler` a changé, passant de Exception à Throwable
5.5.0 | Précédemment, si `NULL` était passé, alors la fonction retournait `TRUE`. Désormais, elle retourne le gestionnaire précédant, et ce, depuis PHP 5.5.0.

### Exemples

Exemple #1 Exemple avec set_exception_handler()

`<?php
function exception_handler($exception) {
echo "Exception non attrapée : " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Uncaught Exception');
echo "Non exécuté\n";
?>`

### Voir aussi

- restore_exception_handler() - Réactive l'ancienne fonction de gestion d'exceptions
- restore_error_handler() - Réactive l'ancienne fonction de gestion des erreurs
- error_reporting() - Fixe le niveau de rapport d'erreurs PHP
- Informations sur le type callback
- Les exceptions en PHP 5