Aller au contenu

PHP/Exceptions

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
< PHP
Début de la boite de navigation du chapitre
Exceptions
Icône de la faculté
Chapitre no 14
Leçon : PHP
Chap. préc. :Mails
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « PHP : Exceptions
PHP/Exceptions
 », n'a pu être restituée correctement ci-dessus.

Tout comme en Java, la levée d'exception est assurée un bloc try ... catch :

try {
    echo '1 / 2 = ' 1/2;
    echo '3 / 0 = ' 3/0;    // instruction qui déclenchera l'exception
    echo '2 / 1 = ' 2/1;    // cette instruction ne sera pas exécutée à cause de la précédente
} catch (Exception $e) {
    echo $e->getMessage();  // afficher le message lié à l'exception
} finally {
    echo 'Fin du try';      // action facultative à la fin
}

Il n'est donc pas nécessaire de prévoir ce qui peut interrompre le programme pour s'en prémunir et poursuivre l'exécution en fonction.

Pour déclencher une interruption du programme lors d'une exception, on utilise le mot "throw" :

if (!3/0) {
    throw new Exception('Division par zéro.');
}