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