Section courante

A propos

Section administrative du site

catchswitch

Attrape l'échange
LLVM

Syntaxe

resultval = catchswitch within parent [ label handler1, label handler2, ... ] unwind to caller
resultval = catchswitch within parent [ label handler1, label handler2, ... ] unwind label default

Paramètres

Nom Description
resultval Ce paramètre permet d'indiquer le résultat de l'instruction catchswitch, étant une étiquette de jeton utilisée plus tard dans les instructions catchpad.
parent Ce paramètre permet d'indiquer le parent de cette instruction. C'est soit un autre catchpad (dans une exception imbriquée), soit none (dans une clause try de plus haut niveau).
handler1, handler2, ... Ces paramètres permettent d'indiquer une liste d'étiquettes vers les blocs catchpad possibles. Ces blocs définissent chacun un gestionnaire pour une exception spécifique.
unwind to caller S'il n'y a pas de gestionnaire (catchpad) approprié, l'exception est propagée au niveau d'appelant (comme un rethrow).
default Si aucune clause catchpad ne convient, l'exécution passe à un bloc de secours désigné (label default), typiquement un bloc de nettoyage.

Description

Cette instruction permet de transférer le contrôle à l'un des successeurs des gestionnaires, le cas échéant, ou continue à se dérouler via l'étiquette de déroulement, le cas échéant.



Dernière mise à jour : Jeudi, le 13 juin 2019