JavaScript essayer...attraper...enfin
Exemple
Cet exemple contient une faute de frappe dans le bloc try . L'alerte est mal orthographiée.
Le bloc catch intercepte l'erreur et exécute le code pour la gérer :
<p id="demo"></p>
<script>
try {
adddlert("Welcome guest!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
Plus d'exemples ci-dessous.
Définition et utilisation
Lorsqu'une erreur se produit, JavaScript s'arrête et génère un message d'erreur.
Noter
Le terme technique pour cela est : JavaScript lève une exception .
JavaScript crée un objet Error avec deux propriétés : name et message .
La try...catch...finally
combinaison d'instructions gère les erreurs sans arrêter JavaScript.
L' try
instruction définit le bloc de code à exécuter (à essayer).
L' catch
instruction définit un bloc de code pour gérer toute erreur.
L' finally
instruction définit un bloc de code à exécuter quel que soit le résultat.
L' throw
instruction définit une erreur personnalisée.
Les deux catch
et finally
sont facultatifs, mais vous devez en utiliser un.
Noter
L'utilisation de throw avec try et catch vous permet de contrôler le déroulement du programme et de générer des messages d'erreur personnalisés.
Voir également:
Syntaxe
try {
tryCode - Code block to run
}
catch(err) {
catchCode -
Code block to handle errors
}
finally {
finallyCode - Code block to be executed regardless of the try result
}
Paramètres
Parameter | Description |
tryCode | Required. Code block to be tested while executing. |
err | A local reference to the error object. |
catchCode | Optional. Code block to execute if an error occurs. |
finallyCode | Optional. Code block to execute regardless of the try result |
Plus d'exemples
Cet exemple examine l'entrée.
Si la valeur est erronée, une exception (err) est levée :
<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() {
const message =
document.getElementById("message");
message.innerHTML = "";
let 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>
L' instruction finally exécute le code, quel que soit le résultat de l'essai :
function myFunction()
const message =
document.getElementById("message");
message.innerHTML = "";
let 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 = "";
}
}
Prise en charge du navigateur
try...catch
est une fonctionnalité ECMAScript3 (ES3).
ES3 (JavaScript 1999) est entièrement pris en charge dans tous les navigateurs :
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |