Catch |
Attraper |
---|---|
Visual Basic .NET (VB .NET) |
Syntaxe
Try [ tryStatements ] [ Exit Try ] [ Catch [ exception [ As type ] ] [ When expression ] [ catchStatements ] [ Exit Try ] ] [ Catch ... ] [ Finally [ finallyStatements ] ] End Try |
Paramètres
Nom | Description |
---|---|
tryStatements | Ce paramètre permet d'indiquer un/des instruction(s) où une erreur peut se produire. Peut être une déclaration composée. |
Catch | Ce paramètre permet d'indiquer un bloc de capture multiples autorisés. Si une exception se produit lors du traitement du bloc Try, chaque instruction Catch est examinée dans l'ordre textuel pour déterminer si elle gère l'exception, l'exception représentant l'exception qui a été levée. |
exception | Ce paramètre permet d'indiquer n'importe quel nom de variable. La valeur initiale de l'exception est la valeur de l'erreur levée. Utilisé avec Catch pour spécifier l'erreur détectée. Si elle est omise, l'instruction Catch intercepte toute exception. |
type | Ce paramètre permet d'indiquer le type de filtre de classe. Si la valeur de l'exception est du type spécifié par type ou d'un type dérivé, l'identificateur devient lié à l'objet exception. |
When | Ce paramètre permet d'indiquer une instruction Catch avec une clause When intercepte les exceptions uniquement lorsque l'expression est évaluée à True. Une clause When n'est appliquée qu'après avoir vérifié le type de l'exception, et l'expression peut faire référence à l'identificateur représentant l'exception. |
expression | Ce paramètre permet d'indiquer qu'il doit être implicitement convertible en booléen. Toute expression décrivant un filtre générique. Généralement utilisé pour filtrer par numéro d'erreur. Utilisé avec le mot-clef When pour spécifier les circonstances dans lesquelles l'erreur est détectée. |
catchStatements | Ce paramètre permet d'indiquer le(s) instruction(s) pour gérer les erreurs se produisant dans le bloc Try associé. Peut être une déclaration composée. |
Exit Try | Ce paramètre permet d'indiquer le mot-clef sortant de la structure Try...Catch...Finally. L'exécution reprend avec le code qui suit immédiatement l'instruction End Try. L'instruction Final sera toujours exécutée. Non autorisé dans les blocs Finally. |
Finally | Ce paramètre permet d'indiquer un bloc Final est toujours exécuté lorsque l'exécution quitte une partie de l'instruction Try...Catch. |
finallyStatements | Ce paramètre permet d'indiquer les instructions étant exécutées après que tous les autres traitements d'erreur se soient produits. |
End Try | Ce paramètre permet d'indiquer la terminaison de fin de la structure Try...Catch...Finally. |
Description
Ce mot réservé permet de fournir un moyen de gérer certaines ou toutes les erreurs possibles pouvant se produire dans un bloc de code donné, tout en exécutant le code.
Remarques
- Si vous vous attendez à ce qu'une exception particulière se produise au cours d'une section particulière de code, placez le code dans un bloc Try et utilisez un bloc Catch pour conserver le contrôle et gérer l'exception si elle se produit.
- Une instruction Try...Catch se compose d'un bloc Try suivi d'une ou plusieurs clauses Catch, spécifiant des gestionnaires pour diverses exceptions. Lorsqu'une exception est levée dans un bloc Try, le Visual Basic .NET recherche l'instruction Catch gérant l'exception. Si aucune instruction Catch correspondante n'est trouvée, le Visual Basic .NET examine la méthode ayant appelé la méthode actuelle, et ainsi de suite jusqu'à la pile des appels. Si aucun bloc Catch n'est trouvé, le Visual Basic .NET affiche un message d'exception non géré à l'intention de l'utilisateur et arrête l'exécution du programme.
- Vous pouvez utiliser plusieurs instructions Catch dans une instruction Try...Catch. Si vous faites cela, l'ordre des clauses Catch est important car elles sont examinées dans l'ordre. Attrapez les exceptions les plus spécifiques avant les moins spécifiques.
- Les conditions de l'instruction Catch suivantes sont les moins spécifiques et intercepteront toutes les exceptions dérivant de la classe Exception. Vous devez normalement utiliser l'une de ces variantes comme dernier bloc Catch dans la structure Try...Catch...Finally, après avoir intercepté toutes les exceptions spécifiques que vous attendez. Le flux de contrôle ne peut jamais atteindre un bloc Catch suivant l'une ou l'autre de ces variations. Le type est Exception, par exemple&bsp;: Catch ex As Exception. L'instruction n'a pas de variable d'exception, par exemple : Catch.
- Lorsqu'une instruction Try...Catch...Finally est imbriquée dans un autre bloc Try, Visual Basic .NET examine d'abord chaque instruction Catch dans le bloc Try le plus interne. Si aucune instruction Catch correspondante n'est trouvée, la recherche passe aux instructions Catch du bloc Try...Catch...Finally externe.
- Les variables locales d'un bloc Try ne sont pas disponibles dans un bloc Catch car ce sont des blocs séparés. Si vous souhaitez utiliser une variable dans plusieurs blocs, déclarez la variable en dehors de la structure Try...Catch...Finally.
- L'instruction Try...Catch...Finally est disponible sous forme d'extrait de code IntelliSense.
Dernière mise à jour : Mardi, le 24 Août 2021