AttraperException - Instruction

Instruction. Traite les exceptions d'une liste d'instructions.

Syntaxe

AttraperException ListeDInstructions TraiterException
ListeDeCasDUneInstruction
CasParDefautDUneInstruction
Fin AttraperException

Description

L'instruction AttraperException sert à encapsuler une liste d'instructions afin d'attraper puis de traiter les exceptions envoyées par une des instructions de cette liste. Le traitement des exceptions est défini par la liste des cas du TraiterException.

Les instructions AttraperException peuvent être imbriquées dans le même traitement ou dans des traitements provenant d'une procédure, d'une fonction ou d'une méthode, ces dernières pouvant être dans le même module ou dans un autre module. Ainsi est définie une pile de rattrapages d'exceptions exploitée en LIFO.

Si aucune exception est envoyée, les instructions encapsulées sont exécutées normalement et le traitement des exceptions empilé est dépilé. La partie qui suit TraiterException est donc ignorée.

Dès qu'une exception est envoyée, l'exécution des instructions est interrompue. Un traitement d'exceptions correspondant à cette exception est recherché en parcourant la pile des traitements d'exceptions. Le traitement trouvé, il est exécuté et l'exécution reprend à l'instruction qui suit Fin AttraperException correspondant au traitement trouvé.

Il existe un traitement d'exceptions par défaut qui gère toutes les exceptions. Son effet est d'afficher un message d'erreur et d'arrêter le programme.

Exemple

AttraperException
/***************/
Debut
Ecran.Ecrire("AttraperException:"+Objet.NomException);
Fin AttraperException

Principal
/*******/
Variable
/******/

Debut
...
AttraperException
/* Une division par 0 envoie l'exception DivisionParZero. */ /* Etant donne qu'une exception est envoyée pour la division par 0, cette instruction n'est pas exécutée. */
TraiterException /* Traitement du cas de la division par 0. */ Fin AttraperException
/* Reprise suite a l'exception DivisionParZero. */
...
Fin Principal

Voir aussi

Exception pour définir des exceptions. Selon pour définir un éclatement.

Traduction

---------