Instructions try/catch/finally en JavaScript
- Page précédente throw
- Page suivante var
- Retour au niveau supérieur Manuel de référence instructions JavaScript
Définition et utilisation
L'instruction try/catch/finally traite les erreurs potentielles survenues dans un bloc de code, tout en exécutant toujours le code.
Les erreurs peuvent être causées par des erreurs de codage des programmeurs, des erreurs d'entrée incorrectes et d'autres situations imprévisibles.
L'instruction try permet de définir un bloc de code à tester pour des erreurs lors de l'exécution.
Si une erreur se produit dans le bloc try, l'instruction catch permet de définir un bloc de code à exécuter.
L'instruction finally permet d'exécuter du code après try et catch, peu importe le résultat.
Remarque :Les instructions catch et finally sont optionnelles, mais l'une d'elles doit être utilisée lors de l'utilisation de l'instruction try (sauf si elles sont utilisées ensemble).
Astuce :Lorsqu'une erreur se produit, JavaScript s'arrête généralement et génère un message d'erreur. Utilisez une instruction throw pour créer des erreurs personnalisées (lancer des exceptions). Si vous utilisez throw avec try et catch, vous pouvez contrôler le flux du programme et générer des messages d'erreur personnalisés.
Pour en savoir plus sur les erreurs JavaScript, apprenez le tutoriel sur les erreurs JavaScript.
Example
Dans cet exemple, nous avons fait une faute de frappe dans le code (dans le bloc try).
Dans cet exemple, il devrait afficher "Bienvenue invité!", mais il y a une erreur de frappe dans l'alerte.
Le bloc catch attrape les erreurs et exécute un code pour les traiter :
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Bienvenue invité!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
Vous trouverez plus d'exemples TIY en bas de la page.
Syntaxe
try { tryCode - Bloc de code à essayer } catch(err) { catchCode - Bloc de code pour gérer les erreurs } finally { finallyCode - Bloc de code à exécuter indépendamment du résultat de try / catch }
Valeur des paramètres
Paramètres | Description |
---|---|
tryCode | Obligatoire. Un bloc de code à tester lors de l'exécution pour vérifier l'erreur. |
err | Obligatoire, si utilisé avec catch. Spécifie la variable locale référençant l'erreur. Cette variable peut référencer l'objet Error (contenant des informations sur l'erreur, par exemple le message "'addlert' is not defined"). Si l'exception est créée par une instruction throw, cette variable fait référence à l'objet spécifié dans l'instruction throw (voir "Plus d'exemples"). |
catchCode | Optionnel. Un bloc de code à exécuter si une erreur se produit dans le bloc try. Si aucune erreur ne se produit, ce bloc de code ne sera jamais exécuté. |
finallyCode | Optionnel. Un bloc de code à exécuter indépendamment du résultat de try / catch. |
Détails techniques
JavaScript version: | ECMAScript 3 |
---|
More examples
Example
This example checks the input. If the value is incorrect, it throws an exception (err).
catch statement captures exceptions (err) and displays a custom error message:
<!DOCTYPE html> <html> <body> <p>Please input a number between 5 and 10:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Test Input</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 "is Empty"; if(isNaN(x)) throw "not a number"; if(x > 10) throw "too high"; if(x < 5) throw "too low"; } catch(err) { message.innerHTML = "Input " + err; } } </script> </body> </html>
Example
finally statement allows you to execute code after try and catch, regardless of the result:
function myFunction() var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "Empty"; if(isNaN(x)) throw "Not a number"; if(x > 10) throw "Too high"; if(x < 5) throw "Too low"; } catch(err) { message.innerHTML = "Error: " + err + "."; } finally { document.getElementById("demo").value = ""; } }
browser support
instruction | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Support | Support | Support | Support | Support |
Pages connexes
Tutoriel JavaScript :Erreurs JavaScript
Manuel de référence JavaScript :Instruction throw JavaScript
- Page précédente throw
- Page suivante var
- Retour au niveau supérieur Manuel de référence instructions JavaScript