Description try exécute les instructions du bloc et capture toutes les erreurs éventuelles.
Si une erreur est détectée, le traitement est redirigé vers le bloc catch avec l'objet Error en paramètre.
Un développeur se demandera pour quelle raison s'attendre à une erreur de traitement et devoir la gérer ?
A priori, si le script est bien écrit et testé, une erreur ne surviendra pas. Mais il y a plusieurs cas où cela peut arriver malgré tout, comme par exemple :
Le navigateur est ancien et ne connait pas les fonctionnalités utilisées.
Le navigateur fait appel au réseau et une coupure de traitement est possible.
Le traitement utilise des données saisies par l'utilisateur ou un service externe.
Exemple 1 : Utilisation de la détection d'erreur
Code source
<div id="div"></div>
<script type="text/javascript"> try {
maFonctionFantome();
} catch (myError) { document.getElementById("div").innerHTML="Traitement CATCH !"; console.log("la variable javascript myError est de type : "+typeof myError); console.log("Le message est : "+myError.message); console.log("Le type d'erreur est : "+myError.name);
}
</script>
Résultat
Emulation de la console
Explication
Exemple basique avec un appel à une fonction non déclarée.
L'erreur myError de type Error est capturée par le script dans le block catch et ne remonte pas dans le navigateur.