Partager via


try...catch...finally, instruction

Mise à jour : novembre 2007

Implémente la gestion d'erreurs de JScript.

try {
   [tryStatements]
} catch(exception) {
   [catchStatements]
} finally {
   [finallyStatements]}

Arguments

  • tryStatements
    Facultatif. Instructions dans lesquelles peut se produire une erreur.

  • exception
    Obligatoire. Tout nom de variable. La valeur initiale de l'argument exception est la valeur de l'erreur levée.

  • catchStatements
    Facultatif. Instructions pour la gestion des erreurs qui se produisent dans les instructions tryStatements associées.

  • finallyStatements
    Facultatif. Instructions qui sont exécutées de manière non conditionnelle à la fin du traitement de toutes les autres erreurs.

Notes

L'instruction try...catch...finally offre la possibilité de gérer certaines ou toutes les erreurs susceptibles de se produire dans un bloc de code donné, tout en poursuivant l'exécution du code. En présence d'erreurs que le programmeur n'a pas gérées, JScript affiche simplement le message d'erreur normal à l'utilisateur, comme s'il n'y avait pas de gestion d'erreurs.

Les instructions tryStatements contiennent du code susceptible de contenir des erreurs tandis que les instructions catchStatements contiennent du code qui peut gérer toute erreur survenue. Si une erreur survient dans les instructions tryStatements, le contrôle du programme est passé aux instructions catchStatements pour traitement. La valeur initiale de l'argument exception est la valeur de l'erreur levée dans tryStatements. Si le code ne comporte pas d'erreur, les instructions catchStatements ne sont jamais exécutées.

Si l'erreur ne peut pas être gérée dans les instructions catchStatements associées aux instructions tryStatements dans lesquelles s'est produite l'erreur, utilisez l'instruction throw pour propager, ou régénérer, l'erreur vers un gestionnaire d'erreurs de niveau supérieur.

Une fois que toutes les instructions spécifiées dans tryStatements ont été exécutées et que la gestion des erreurs a eu lieu dans catchStatements, les instructions spécifiées dans finallyStatements sont exécutées de manière non conditionnelle.

Notez que le code contenu dans les instructions finallyStatements est exécuté même si les blocs try ou catch comportent une instruction return ou si une erreur est levée dans un bloc catch. Les instructions finallyStatements sont assurées de toujours pouvoir s'effectuer.

Exemple

L'exemple suivant illustre le fonctionnement de la gestion des exceptions de JScript.

try {
   print("Outer try running...");
   try {
      print("Nested try running...");
      throw "an error";
   } catch(e) {
      print("Nested catch caught " + e);
      throw e + " re-thrown";
   } finally {
      print("Nested finally is running...");
   }
} catch(e) {
   print("Outer catch caught " + e);
} finally {
   print("Outer finally running");
}

Ce code produit le résultat suivant :

Outer try running..
Nested try running...
Nested catch caught an error
Nested finally is running...
Outer catch caught an error re-thrown
Outer finally running

Configuration requise

Version 5

Voir aussi

Référence

throw, instruction

Objet Error