Macro RpcExcept (rpc.h)
L’instruction RpcExcept fournit une gestion structurée des exceptions pour les applications RPC.
Windows Vista et versions ultérieures de Windows : RpcExceptionFilter est recommandé pour la gestion structurée des exceptions pour les exceptions les plus courantes comme alternative aux filtres personnalisés avec RpcExcept. Toutefois, les filtres d’exception personnalisés doivent toujours utiliser RpcExcept.
Syntaxe
void RpcExcept(
expr
);
Paramètres
expr
Expression évaluée lorsqu’une exception se produit. Si expression est évaluée à une valeur différente de zéro, les instructions d’exception sont exécutées. Si l’expression est évaluée à zéro, le déroulement continue vers la fonction RpcTryExcept ou RpcTryFinally suivante.
Valeur de retour
None
Remarques
Si aucune exception ne se produit, les instructions d’expression et d’exception sont ignorées et l’exécution se poursuit à l’instruction qui suit l’instruction RpcEndExcept .
L’instruction composée après la clause RpcTryExcept est le corps ou la section protégée. L’instruction composée après la clause RpcExcept est le gestionnaire d’exceptions. Le gestionnaire spécifie un ensemble d'actions à entreprendre si une exception est levée pendant l'exécution du corps de la section protégée. L'exécution se déroule comme suit :
- La section protégée est exécutée.
- Si aucune exception ne se produit pendant l’exécution de la section protégée, l’exécution se poursuit au niveau de l’instruction après la clause RpcEndExcept .
- Si une exception se produit pendant l’exécution de la section protégée ou dans une routine que la section protégée appelle, l’expression __except est évaluée et la valeur détermine la façon dont l’exception est gérée. Il existe trois valeurs :
- EXCEPTION_CONTINUE_EXECUTION (–1) l’exception est ignorée. Poursuivre l'exécution au point où l'exception s'est produite.
- EXCEPTION_CONTINUE_SEARCH (0) l’exception n’est pas reconnue. Poursuivre la recherche d'un gestionnaire dans la pile, en premier pour qu'il contienne des instructions try-except, puis pour les gestionnaires avec la priorité la plus élevée suivante.
- L’exception est reconnue. Transférez le contrôle vers le gestionnaire d’exceptions en exécutant l’instruction composée __except, puis poursuivez l’exécution après le bloc __except.
RpcExceptionCode peut être utilisé dans les instructions d’expression et d’exception pour déterminer l’exception qui s’est produite.
Les restrictions suivantes s’appliquent :
- Le saut (via un goto) dans des instructions surveillées n’est pas autorisé.
- Le saut (via un goto) dans les instructions d’exception n’est pas autorisé.
- Le retour ou le saut (via un goto) à partir d’instructions surveillées n’est pas autorisé.
- Le retour ou le saut (via un goto) à partir d’instructions d’exception n’est pas autorisé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | rpc.h |