Les instructions d'exceptions en JavaScript sont au nombre de trois :
- TRY ... CATCH ...
- TRY ... FINALLY ...
- THROW
TRY ... CATCH ...
L'instruction «TRY» de JavaScript permet d'effectuer la gestion d'une erreur aussi simplement qu'en JavaScript par exemple. On encapsule les instructions à risque entre les mots réservés «TRY» et «CATCH», puis on met le traitement d'erreur après les mots réservés «CATCH». JavaScript, à la manière des vieux interpréteurs Basic comme BASICA et GWBASIC permet d'effectuer une branchement sur les instructions souhaité. Voici enfin sa syntaxe situer dans la zone de traitement d'exception :
try { instructionarisque } catch(codeerreur1) { instructionexception1; } catch(codeerreur2) { instructionexception2; } |
TRY ... FINALLY ...
Le déclenchement d'exception est parfois dangereux lorsqu'on pense au fait qu'on peut gaspiller des ressources mémoire ou oublier d'arrêter un périphérique par exemple. Il existe une instruction permettant de s'assurer que quoi qu'il arrive un bloc d'instruction sera exécuté même si des problèmes auront lieu. Cette instruction c'est «TRY» et «FINALLY». Contrairement aux instructions «TRY CATCH» s'exécutant que si une exception à lieu, le zone «FINALLY» est assurément exécuté! Voici donc sa syntaxe :
try { instructionpeutetreexecuter; } catch(codeerreur1) { instructionexception1; } finally { instruction_exécuté_a_la_fin_meme_si_exception; } |
THROW
Naturellement, une exception peut être déclenché par programmation. L'instruction permettant d'effectuer cette opération est «throw». Voici enfin les deux syntaxes autorisé :
throw codeerreur; |
ou
throw message; |
Exemple
Cet exemple permet de poursuivre le programme même si la fonction n'existe pas :
on obtiendra le résultat suivant :
Message de l'exception : ReferenceError: fonction is not defined