ON ERROR GOTO/RESUME |
Branchement en cas d'erreur |
|---|---|
| ASP 3.0 | |
Syntaxe
| ON ERROR RESUME NEXT |
ou
| ON ERROR GOTO 0 |
ou
| ON ERROR GOTO -1 |
ou
| ON ERROR GOTO étiquette |
Paramètres
| Nom | Description |
|---|---|
| étiquette | Ce paramètre indique quand cas d'erreur un saut vers l'étiquette spécifié se produira. |
| ON ERROR RESUME NEXT | Ce bloc d'instruction indique à l'ASP qu'en cas d'erreur le branchement se poursuivra à ligne suivante du code source. |
| ON ERROR GOTO 0 | Ce bloc d'instruction indique à l'ASP qu'en cas d'erreur aucun branchement ne sera effectué et que l'erreur devra être gérer manuellement par l'utilisateur. |
| ON ERROR GOTO -1 | Ce bloc d'instruction indique à l'ASP d'annuler le branchement des erreurs utilisateurs. |
Description
Cette instruction permet d'effectuer un branchement en cas d'une erreur d'exécution.
Remarques
- L'instruction ON ERROR permet de contrôler la gestion des erreurs à l'exécution, ce qui est essentiel pour rendre les scripts ASP plus robustes et tolérants aux anomalies. Elle empêche les interruptions brutales du programme lorsqu'une erreur survient, en redirigeant l'exécution vers une section appropriée. Cela offre un comportement plus fluide, notamment pour les applications en production.
- ON ERROR RESUME NEXT est souvent utilisée pour ignorer une erreur et poursuivre l'exécution avec la ligne suivante. C'est pratique pour les opérations à risque (accès fichiers, bases de données,...) sans interrompre le script. Cependant, cette approche peut masquer des erreurs critiques si elle est mal utilisée, rendant le débogage plus difficile.
- L'utilisation de ON ERROR GOTO 0 réinitialise la gestion des erreurs, ce qui signifie que les erreurs générées après ce point provoqueront à nouveau des interruptions. Cette instruction est utile pour encadrer des blocs sensibles avec une gestion spécifique, puis revenir au comportement par défaut. Elle permet de mieux structurer la gestion des erreurs dans différents contextes du même script.
- ON ERROR GOTO -1 est rarement utilisée, mais elle sert à réinitialiser le gestionnaire d'erreurs utilisateur défini par un ON ERROR GOTO antérieur. Elle annule donc un éventuel branchement vers une étiquette définie, rétablissant un état neutre. Cela permet une meilleure maîtrise dans des scripts longs ou complexes comportant plusieurs blocs de gestion d'erreurs.
- ON ERROR GOTO étiquette permet une gestion personnalisée des erreurs en redirigeant l'exécution vers un bloc de code spécifique identifié par une étiquette. Ce mécanisme est utile pour journaliser les erreurs, afficher un message utilisateur ou effectuer un traitement correctif. Il est cependant à noter que cette syntaxe est davantage utilisée en VBScript classique qu'en ASP pur, où elle est peu supportée.
- Bien que très utile, l'usage de ON ERROR peut rendre le code moins lisible, surtout si les erreurs ne sont pas clairement traitées après le branchement. Il est recommandé de toujours inclure une logique explicite dans les blocs de gestion d'erreur (comme des journaux de bord ou des Response.Write) pour faciliter le suivi. Sinon, des erreurs risquent de passer inaperçues.
- La gestion d'erreurs avec ON ERROR est un complément essentiel à l'instruction ERR, qui fournit des détails sur l'erreur courante (comme Err.Number, Err.Description). En combinant les deux, il devient possible d'analyser précisément l'origine de l'erreur. Cela permet de créer un mécanisme de rapport d'erreur structuré et informatif.
- Dans des environnements ASP 3.0 critiques, l'utilisation raisonnée de ON ERROR est un bon moyen de maintenir la stabilité de l'application, même si une ressource externe devient indisponible ou si des données sont mal formées. Toutefois, une mauvaise gestion peut introduire des effets de bord ou masquer des bogues importants. Il est donc impératif d'encadrer cette instruction avec rigueur et clarté.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
on obtiendra le résultat suivant :
AvantApresVoir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Vendredi, le 10 octobre 2014