article(s) dans votre panier VOIR

Tuto PHP/MySQL | Exceptions

  • Vidéo 52 sur 158
  • 4h43 de formation
  • 158 leçons

Un contenu flash devrait s'afficher ici. Votre navigateur ne comporte pas de plugin flash, ou il ne s'est pas correctement initialisé.

Vous pouvez télécharger le plugin flash depuis le site d'Adobe à l'adresse suivante : http://get.adobe.com/flashplayer/.

Pour accéder à la suite de cette formation, vous devez vous abonner.
previous
summary
resume
next
play
Exceptions
00:00 / 02:13
HD
fullscreen
Je m’abonne
à partir de 16,6 € / mois
  • Visionnage en ligne
  • Accès illimité à toutes nos formations
OU
J'achète uniquement
la formation
49,90€
  • Téléchargement + VOD à vie
  • Accès uniquement à cette formation

Sommaire de la formation

Détails de la formation

La gestion des exceptions dans PHP est comparable à celle qui a cours dans les autres langages de programmation :

Le code qui peut provoquer une exception doit être entouré d'une structure try.

Une exception peut être déclenchée par l'instruction suivante :
throw new Exception("message");

L'instruction catch(exception $e) permet de capturer une exception. Si une instruction throw new Exception a été générée, le message peut être récupéré dans la cellule
$e->getMessage() du tableau $e.

Chaque instruction try doit avoir une instruction catch correspondante.

Un exemple va mettre en pratique tout ce qui vient d'être dit :

<!DOCTYPE html>

<html>

  <head>

    <meta charset="UTF-8" />

    <title>Gestion des exceptions</title>

  </head>

  <body>

    <?php

      function inverse($nombre){

        if ($nombre == 0)

          throw new exception("division par zéro");

        else  

          echo "1/$nombre = ".(1/$nombre)."<br>";

      }

      try{

        echo inverse(12);

        echo inverse(0);

        echo inverse(3);

      }

      catch(exception $e){

        echo "Une exception a été générée : ".$e->getMessage()."<br>";

      }

    ?>  

  </body>

</html>

Faites une pause dans la vidéo et saisissez ce code le code. 

Voici quelques explications sur le code que vous venez de saisir.

Les instructions dont l'exécution est incertaine sont placées dans le bloc try. Ici, on essaye de calculer 1/12, 1/0 puis 1/3

 

Examinons la fonction inverse.

Si le nombre passé en entrée est égal à 0, l'exception "Division par zéro" est générée. 

Dans le cas contraire, l'inverse du nombre passé à la fonction est retourné.

Lorsqu'une exception se produit, les instructions du bloc catch sont exécutées puis le programme s'interrompt.

Exécutons ce code via WAMPServer.

Comme vous pouvez le vérifier :

la première fraction est calculée

la deuxième fraction provoque l'affichage d'un message d'erreur

 

la troisième fraction n'est jamais exécutée car le programme a été interrompu.