article(s) dans votre panier VOIR

Tuto PHP/MySQL | Exercice sur les exceptions

  • Vidéo 53 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
Exercice sur les exceptions
00:00 / 01:01
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

Modifiez le code pour que la valeur 1/3 soit également calculée.

Solution

Faites une pause dans la vidéo et modifiez le code. Poursuivez la vidéo pour prendre connaissance de la solution.

Pour que le troisième calcul soit toujours effectué, il suffit de placer l'appel à la fonction inverse(3) à l'extérieur du bloc catch.

Chronologiquement, on calcule :

L'inverse de 12, 

L'inverse de 0. Ce calcul est protégé par la structure try catch. Une exception est détectée et un message d'erreur est affiché dans le bloc catch. Le programme se poursuit alors par les instructions à l'extérieur du try.

C'est ainsi que l'inverse de 3 est calculé.

 

 

<!DOCTYPE html>

<html>

  <head>

    <meta charset="UTF-8" />

    <title>Gestion des exceptions avec bloc finally</title>

  </head>

  <body>

    <?php

      function inverse($nombre){

        if ($nombre == 0)

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

        else  

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

      }

      echo inverse(12);

      try{

        echo inverse(0);

      }

      catch(exception $e){

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

      }

      echo inverse(3);

    ?>  

  </body>

 

</html>