JavaScript Tutorial

Erreurs JavaScript Essayez Attraper Lancer


Lancez et essayez… attrapez… enfin

Le try L’instruction définit un bloc de code à exécuter (pour essayer).

Le catch L’instruction définit un bloc de code pour gérer toute erreur.

Le finally L’instruction définit un bloc de code à exécuter quel que soit le résultat.

Le throw L’instruction définit une erreur personnalisée.


Des erreurs arriveront !

Lors de l’exécution du code JavaScript, différentes erreurs peuvent se produire.

Les erreurs peuvent être des erreurs de codage faites par le programmeur, des erreurs dues à une mauvaise saisie et d’autres choses imprévisibles.

Exemple

Dans cet exemple, nous avons mal orthographié « alert » en tant que « addlert » pour produire délibérément une erreur :

Essayez-le vous-même »

Captures JavaScript ajouter comme une erreur et exécute le code catch pour le gérer.


JavaScript essayer et attraper

Le try L’instruction vous permet de définir un bloc de code à tester pour les erreurs pendant son exécution.

Le catch L’instruction vous permet de définir un bloc de code à exécuter, si une erreur se produit dans le bloc try.

Les déclarations JavaScript try et catch
venez par paires :

essayer {
Bloc de code à essayer
}
attraper(se tromper) {
Bloc de code pour gérer les erreurs
}



JavaScript génère des erreurs

Lorsqu’une erreur se produit, JavaScript s’arrête normalement et génère un message d’erreur.

Le terme technique pour cela est : JavaScript va lancer une exception (lancer une erreur).

JavaScript créera en fait un Objet d’erreur avec deux propriétés :
nom et message.


La déclaration de lancer

Le throw vous permet de créer une erreur personnalisée.

Techniquement, vous pouvez lancer une exception (lancer une erreur).

L’exception peut être un JavaScript Stringun Numberun Boolean ou un Object:

lancer « Trop gros » ; // envoie un texte
lancer 500; // jette un nombre

Si tu utilises throw ensemble avec try et
catchvous pouvez contrôler le déroulement du programme et générer des messages d’erreur personnalisés.


Exemple de validation d’entrée

Cet exemple examine l’entrée. Si la valeur est erronée, une exception (err) est levée.

L’exception (err) est interceptée par l’instruction catch et un message d’erreur personnalisé s’affiche :

Veuillez saisir un nombre entre 5 et 10 :



Essayez-le vous-même »


Validation HTML

Le code ci-dessus n’est qu’un exemple.

Les navigateurs modernes utilisent souvent une combinaison de JavaScript et de validation HTML intégrée, en utilisant des règles de validation prédéfinies définies dans les attributs HTML :

Vous pouvez en savoir plus sur la validation des formulaires dans un chapitre ultérieur de ce didacticiel.


La déclaration enfin

Le finally vous permet d’exécuter du code, après try and catch, quel que soit le résultat :

Syntaxe

essayer {
Bloc de code à essayer
}
attraper(se tromper) {
Bloc de code pour gérer les erreurs
}

enfin {
Bloc de code à exécuter quel que soit le résultat try/catch
}

Exemple

function maFonction() {
const message = document.getElementById(« p01 »);
message.innerHTML = «  » ;
laissez x = document.getElementById(« demo »).value;

essayer {

if(x.trim() == «  ») throw « est vide » ;
if(isNaN(x)) throw « n’est pas un nombre » ;

x = Nombre(x);
if(x > 10) throw « est trop haut » ;
if(x < 5) throw "est trop bas" ;
}
attrape (erre) {
message.innerHTML = « Erreur :  » + err + « . »;
}
enfin {
document.getElementById(« demo »).value = «  » ;
}
}

Essayez-le vous-même »


L’objet d’erreur

JavaScript a un objet d’erreur intégré qui fournit des informations sur l’erreur lorsqu’une erreur se produit.

L’objet error fournit deux propriétés utiles : name et message.


Propriétés de l’objet d’erreur

Propriété Description
nom Définit ou renvoie un nom d’erreur
message Définit ou renvoie un message d’erreur (une chaîne)

Valeurs de nom d’erreur

Six valeurs différentes peuvent être renvoyées par la propriété error name :

Nom de l’erreur Description
EvalErreur Une erreur s’est produite dans la fonction eval()
RangeError Un nombre « hors plage » s’est produit
Erreur de référence Une référence illégale s’est produite
Erreur de syntaxe Une erreur de syntaxe s’est produite
Erreur-type Une erreur de type s’est produite
URIError Une erreur dans encodeURI() s’est produite

Les six valeurs différentes sont décrites ci-dessous.


Erreur d’évaluation

Un EvalError indique une erreur dans la fonction eval().

Les versions plus récentes de JavaScript ne lancent pas EvalError. Utilisez plutôt SyntaxError.


Erreur de plage

UN RangeError est levée si vous utilisez un nombre qui est en dehors de la plage des valeurs légales.

Par exemple : Vous ne pouvez pas définir le nombre de chiffres significatifs d’un nombre sur 500.

Exemple

soit num = 1 ;
essayer {
num.toPrecision(500); // Un nombre ne peut pas avoir 500 chiffres significatifs
}
attrape (erre) {
document.getElementById(« demo »).innerHTML = err.name;
}

Essayez-le vous-même »


Erreur de référence

UN ReferenceError est levée si vous utilisez (référence) une variable qui n’a pas été déclarée :

Exemple

soit x = 5 ;
essayer {
x = y + 1 ; // y ne peut pas être utilisé (référencé)
}
attrape (erre) {
document.getElementById(« demo »).innerHTML = err.name;
}

Essayez-le vous-même »


Erreur de syntaxe

UN SyntaxError est levée si vous essayez d’évaluer le code avec une erreur de syntaxe.

Exemple

essayer {
eval(« alerte(‘Bonjour) »); // Missing ‘ produira une erreur
}
attrape (erre) {
document.getElementById(« demo »).innerHTML = err.name;
}

Essayez-le vous-même »


Erreur-type

UN TypeError est levée si vous utilisez une valeur qui est en dehors de la plage des types attendus :

Exemple

soit num = 1 ;
essayer {
num.toUpperCase(); // Vous ne pouvez pas convertir un nombre en majuscule
}
attrape (erre) {
document.getElementById(« demo »).innerHTML = err.name;
}

Essayez-le vous-même »


Erreur d’URI (Uniform Resource Identifier)

UN URIError est lancé si vous utilisez des caractères illégaux dans une fonction URI :

Exemple

essayer {
decodeURI(« %%% »); // Vous ne pouvez pas décoder l’URI des signes de pourcentage
}
attrape (erre) {
document.getElementById(« demo »).innerHTML = err.name;
}

Essayez-le vous-même »


Propriétés d’objet d’erreur non standard

Mozilla et Microsoft définissent certaines propriétés d’objet d’erreur non standard :

nom_fichier (Mozilla)
numéro de ligne (Mozilla)
numéro de colonne (Mozilla)
pile (Mozilla)
descriptif (Microsoft)
numéro (Microsoft)

N’utilisez pas ces propriétés dans des sites Web publics. Ils ne fonctionneront pas dans tous les navigateurs.


Référence d’erreur complète

Pour une référence complète de l’objet Error, consultez notre Référence complète des erreurs JavaScript.


#Erreurs #JavaScript #Essayez #Attraper #Lancer

Articles similaires

Voir Aussi
Fermer
Bouton retour en haut de la page