JavaScript try/catch/finallyInstruction

JavaScript 语句参考手册Référence des instructions JavaScript

Exemples

Dans l'exemple ci-dessous, nous avons délibérément fait une faute de frappe dans le code à l'intérieur du bloc try.

Cet exemple devrait afficher une alerte "Welcome!", mais à la place, il fait apparaître un message d'erreur d'orthographe.

Le bloc catch intercepte l'erreur dans le bloc try et exécute le code pour la traiter :

try { adddlert("Welcome!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; }

Essayez-le vous-même »

D'autres exemples sont inclus en bas de cet article.


Définition et utilisation

L'instruction try/catch/finally est utilisée pour gérer les messages d'erreur qui peuvent survenir dans le code.

Les erreurs peuvent être des erreurs de syntaxe, généralement des erreurs de codage ou des fautes de frappe commises par les programmeurs. Elles peuvent aussi être des fautes d'orthographe ou des fonctionnalités manquantes dans le langage (éventuellement dues à des différences entre navigateurs).

tryL'instruction permet de définir un bloc de code à tester pour détecter des erreurs pendant son exécution.

catchL'instruction permet de définir le bloc de code à exécuter lorsqu'une erreur se produit dans le bloctry.

finallyL'instruction s'exécute après try et catch, indépendamment de la présence d'une exception.

Remarque :Les deux instructions catch et finally sont facultatives, mais vous devez en utiliser au moins une lorsque vous utilisez l'instruction try.

Astuce :Lorsqu'une erreur se produit, JavaScript arrête l'exécution et génère un message d'erreur. Utilisez l'instructionthrowpour créer un message personnalisé (lever une exception). Si vous utilisezthrowettry 、 catchutilisez-les ensemble, vous pouvez contrôler les messages d'erreur générés par le programme.

Pour en savoir plus sur les erreurs JavaScript, veuillez consulter notre tutorielErreurs JavaScript.


Prise en charge des navigateurs

Instruction
try/catch/finally Oui Oui Oui Oui Oui


Syntaxe

try {
    tryCode - Le bloc de code à essayer d'exécuter
}
catch(err) {
    catchCode - Le bloc de code qui capture les erreurs
}
finally {
    finallyCode - Le bloc de code qui s'exécute indépendamment du résultat de try/catch
}

Valeurs des paramètres

Paramètre Description
tryCode Obligatoire. Le bloc de code qui teste les erreurs.
err Requis (si catch est utilisé). Spécifie l'erreur appliquée à une variable locale. Cette variable peut référencer un objet Error (contenant les informations sur l'erreur survenue, telles que « 'addlert' is not defined »). Si l'exception est créée par une instruction throw, la variable référence l'objet spécifié dans l'instruction throw (voir « Plus d'exemples »).
catchCode Facultatif. Le bloc de code à exécuter si une erreur se produit dans l'instruction try. Si aucune erreur ne se produit dans l'instruction try, ce code ne sera pas exécuté.
finallyCode Facultatif. S'exécute indépendamment du résultat de try/catch.

Détails techniques

Version JavaScript : 1.4


实例

Plus d’exemples

Exemple

Cet exemple détecte si la valeur saisie est incorrecte et lève une exception si c'est le cas.

L'exception est interceptée par l'instruction catch, et un message personnalisé est affiché :

<p>Veuillez saisir un nombre entre 5 et 10 :</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Tester l'entrée</button> <p id="message"></p> <script>
function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "est vide"; if(isNaN(x)) throw "n'est pas un nombre"; if(x > 10) throw "est trop grand"; if(x < 5) throw "est trop petit"; } catch(err) { message.innerHTML = "La valeur d'entrée" + err; } }
</script>

Essayez-le vous-même »

Exemple

finallyL'instruction s'exécute quel que soit le résultat de try et catch :

function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "est vide"; if(isNaN(x)) throw "n'est pas un nombre"; if(x > 10) throw "trop grand"; if(x < 5) throw "trop petit"; } catch(err) { message.innerHTML = "La valeur d'entrée" + err; } finally { document.getElementById("demo").value = ""; } }

Essayez-le vous-même »


Pages associées

JavaScript Tutorial:Erreurs JavaScript

Référence JavaScript :Instruction throw JavaScript


JavaScript 语句参考手册Référence des instructions JavaScript Autres extensions