|
|
Delphi possède une gestion des exceptions pour protèger votre programme contre les erreurs éventuelles pendant son éxecution. Le traitement des exceptions permet de se protéger des différentes erreurs éventuelles dans un programme.
Pour protéger un bloc, vous devez inclure try et except ou try finally entre les lignes de votre code de votre programme. Cela s'avère utile pour certaine opération comme une division par 0.
Lorsque votre erreur se déclenche, une exception est alors soulevé. Cette exception arrête donc l'execution de la ligne du code de votre erreur.
En cas d'erreur dans la partie entre try et except, l'erreur est traité ou ignoré, ensuite les instructions contenues entre except et end sont exécutées. Voici un exemple qui protège le programme contre une division par zéro :
Une erreur se produira si l'entier "a" est égale à 0. On aura donc un message pour avertir.
Lorsqu'un bloc de votre programme est protégé, le bloc supérieur n'est pas alerté qu'une erreur s'est produite. Pour alerter le bloc supérieur, il faut utiliser l'instruction "raise" qui permet de propagé une exception qui a été détecté.
En Delphi, il y a la possibilité
de créer une exception pour la propager.
Il est possible de déterminer la nature de l'exception soulevée en testant le type.
Le mot "on" permet de sélectionner un type d'exception. ClException représente une classe d'exception. Vous trouverez (en bas de la page) un tableau contenant toutes les classes d'exception.
Lorsqu'une exception est soulevée dans un bloc d'instructions, le bloc est quitté sans l'éxécution des instructions suivantes.
Il y aura ici une rupture de séquence si une exception est soulevée dans la procédure deuxieme. Donc, les instructions du fin de bloc ne s'excuteront pas. Si on veut effectuer toutes les procedures à condition qu'il n'y est pas d'exception soulevé dans ces procédures, on peut alors utiliser une fonction de test.
Cette protection permet d'éxécuter le bloc d'instructions entre les mots finally et end. Cette protection est utilisé pour toujours libérer les ressources. Par contre, l'exception continue à se propager.
Run Time Library est une bibliothèque de fonctions de Delphi. Pour gérer les erreurs de la RTL, des classes d'exceptions ont été définies.
Soulever une exception silencieuse permet de ne pas afficher la boite de dialogue par le gestionnaire d'exceptions de l'application. On utilise pour cela le mot clé "Abort".
|
Tous droits réservés - Contacts |