Gestion des erreurs

En cas d'erreur...

Après toute utilisation d'une fonction de peardb, y compris une tentative de connexion, il peut être utile de vérifier qu'aucune erreur ne s'est produite :

              if (PEAR::isError($db)) {
                 echo "<hr />"
                   ."Message Standard         : " . $db->getMessage() . "<hr />\n"
                   ."Message DBMS/Utilisateur : " . $db->getUserInfo() . "<hr />\n""
                   ."Message DBMS/Débogage   : " . $db->getDebugInfo() . "<hr />\n";
                 exit;
              }

(À vous de choisir les messages qu'il vous paraît intéressant d'afficher...)

Application

On peut utiliser la gestion des erreurs pour écrire un programme plus portable.

Si vous écrivez un programme PHP que vous voulez utiliser à plusieurs endroits où les conditions sont différentes (en salles de TP, chez vous, chez un hébergeur, etc.), vous devrez en principe modifier le programme à chaque fois que vous le transférez d'un site à l'autre. Même si l'utilisation de peardb réduit le nombre de modifications à faire, il reste toujours le DSN à adapter.

Cependant vous pouvez oublier également cette manipulation en utilisant la gestion des erreurs :

              $db =& DB::connect(DSN_pour_les_salles_de_TP, $options);
              if (PEAR::isError($db)) {
                 $db =& DB::connect($DSN_pour_votre_machine, $options);
                 if (PEAR::isError($db)) {
                    $db =& DB::connect(DSN_pour_votre_hébergeur, $options);
                    if (PEAR::isError($db)) {
                       echo "<hr />Connexion impossible<hr />\n";
                       exit;
                    }
                 }
              }