presentation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
presentation [2026/04/03 14:56] – [Types de données] rootpresentation [2026/04/03 14:58] (Version actuelle) – [Exceptions] root
Ligne 80: Ligne 80:
 </code> </code>
 ==== Exceptions ==== ==== Exceptions ====
-Chaque programme et sous-programme contient obligatoirement une instruction [[w:instr:except|except]]. Lorsque qu'une exception survient, l'exécuteur saute automatiquement au bloc exception, c'est à dire à la première instruction qui suit la ligne //except//.\\ +Chaque programme et sous-programme contient obligatoirement une instruction [[reference#except|except]]. Lorsque qu'une exception survient, l'exécuteur saute automatiquement au bloc exception, c'est à dire à la première instruction qui suit la ligne ''except''.\\ 
-Dans le bloc de traitement, il est possible de forcer la levée d'une exception avec l'instruction [[w:instr:throw|throw]].\\+Dans le bloc de traitement, il est possible de forcer la levée d'une exception avec l'instruction [[reference#throw|throw]].\\
 Dans le bloc exception, par défaut si rien n'est codé, l'exception se propage au programme appelant, et remonte ainsi jusqu'au programme principal. Dans ce cas, l'exception remonte un code exit au shell correspondant au code exception (en gérant le code retour sur 8 bits).\\ Dans le bloc exception, par défaut si rien n'est codé, l'exception se propage au programme appelant, et remonte ainsi jusqu'au programme principal. Dans ce cas, l'exception remonte un code exit au shell correspondant au code exception (en gérant le code retour sur 8 bits).\\
-Toujours dans le bloc exception, il est possible d'annuler l'exception en cours par l'instruction [[w:instr:catch|catch]] : le programme sort immédiatement du bloc sans exception. Il est également possible de lever une autre exception avec l'instruction //throw// : le programme sort aussi immédiatement du bloc, avec le code exception indiqué dans //throw//.\\ +Toujours dans le bloc exception, il est possible d'annuler l'exception en cours par l'instruction [[reference#catch|catch]] : le programme sort immédiatement du bloc sans exception. Il est également possible de lever une autre exception avec l'instruction ''throw'' : le programme sort aussi immédiatement du bloc, avec le code exception indiqué dans ''throw''.\\ 
-Enfin, la variable système [[w:instr:varsys|@except]] contient l'exception en cours et [[w:instr:varsys|@exceptline]] donne le numéro de ligne du source qui a provoqué l'exception.\\ +Enfin, la variable système [[reference#varsys|@except]] contient l'exception en cours et [[reference#varsys|@exceptline]] donne le numéro de ligne du source qui a provoqué l'exception.\\ 
-A tout moment, l'instruction [[w:instr:return|return]] permet de sortir du bloc en cours, soit le bloc de traitement soit le bloc exception, sans changer les conditions de sortie (exception). Lorsque le bloc courant est le bloc principal, //return// provoque la fin du programme et le retour à l'appelant (le shell, etc.) avec comme retour le code exception courant (sur 8 bits), 0 si pas d'exception.\\+A tout moment, l'instruction [[reference#return|return]] permet de sortir du bloc en cours, soit le bloc de traitement soit le bloc exception, sans changer les conditions de sortie (exception). Lorsque le bloc courant est le bloc principal, ''return'' provoque la fin du programme et le retour à l'appelant (le shell, etc.) avec comme retour le code exception courant (sur 8 bits), 0 si pas d'exception.\\
 Exemple Exemple
 <code wlang> <code wlang>
  • presentation.1775228171.txt.gz
  • Dernière modification : 2026/04/03 14:56
  • de root