Astuces du SpeeDEricH.com

INITIATION AU JAVA SCRIPTJAVA SpeeDEricH.com

LES MESSAGES D'ERREUR

javaERRORS.gif (1927 octets)

Bon courage !

On ne peut pas dire que les outils de débuggage offerts par Javascript soient des plus évolués. Pour un peu, on se croirait revenu aux temps préhistoriques du Basic. Ainsi, corriger tes erreurs en Javascript ressemble curieusement à une enquête policière digne de Sherlock Holmes ou au jeu des sept erreurs. En effet, on ne peut se fier à 100% aux précisions données par l'interpréteur. Le fameux "Javascript Error line x "est plutôt à comprendre comme "ça commence à foirer à la ligne x" et il sera parfois nécessaire de remonter de plusieurs lignes dans le script pour trouver l'erreur initiale. Il y a 3 grandes catégories d'erreurs dans l'utilisation d'un programme Javascript : - les erreurs au chargement. - les erreurs à l'exécution. - les erreurs de logique.
Les erreurs au chargement : au chargement du script par le browser, Javascript passe en revue les différentes erreurs qui peuvent empêcher le bon déroulement de celui-ci. Les erreurs au chargement, nombreuses lors de l'apprentissage de Javascript, sont souvent dues à des fautes de frappe et/ou des erreurs de syntaxe. Pour t'aider à déterminer l'erreur, Javascript affiche sa fameuse boite de message d'erreur, t'indique le problème et le texte de l'erreur. Ne perds pas de vue que Javascript ne t'indique pas toujours l'erreur véritable et que selon l'erreur, celle-ci peut se situer bien plus avant dans le script. Des exemples classiques d'erreurs au chargement sont des parenthèses ou des accolades non fermées, des guillemets manquants, etc.
Les erreurs à l'exécution :
ici ton script se charge sans problème, mais cette satanée boite de message d'erreurs apparaît lorsque l'exécution du script est demandée. Alors que les erreurs au chargement étaient surtout dues au mauvais usage de la syntaxe, les erreurs à l'exécution proviennent d'un mauvais usage des commandes ou des objets Javascript. Un exemple d'erreur à l'exécution est un appel erroné à une variable ou une fonction inexistante (car il y a, par exemple, une erreur dans le nom de la variable ou de la fonction).
Les erreurs de logique : ce sont les plus vicieuses car le "débuggeur" de Javascript ne signale bien entendu aucune erreur et ton script se déroule correctement. Hélas, à l'arrivée, le résultat ne correspond pas à celui espéré. Il n'y a plus qu'à revoir la construction logique de ton script. Cent fois sur le métier remet ton ouvrage. De nombreuses erreurs de logique sont dues à des valeurs de variables incorrectes. 
Voici quelques conseils :
- Dans le cas où l'utilisateur doit entrer une valeur, celle-ci était-t-elle au bon format? N'est-il pas utile de prévoir un petit script pour vérifier le format d'entrée ? - On peut ajouter des points de contrôle de valeur de variable ou de passage avec l'instruction alert(variable) ou alert("Point de passage1").
Les grands classiques des erreurs : on peut dresser une liste d'erreurs que tous les débutants (et même certains plus confirmés) font ou feront tôt ou tard. - Sois vigilant au nom des variables (case sensitive). Mavariable et mavariable sont deux variables distinctes. Évite d'utiliser des noms de variables trop approchants. - Le nom de la fonction a-t-il bien la même orthographe dans la déclaration et dans l'appel. Le nom des fonctions est-il bien unique dans le script? - N'oublie pas les guillemets ou apostrophes avant et après les chaînes de caractères. - As-tu bien mis des virgules entre tes différents paramètres ou arguments? - As-tu placé tes accolades au bon endroit sans avoir oublié de les fermer (surtout dans le cas de blocs de commandes imbriquées). - Assure-toi que les noms des objets Javascript sont corrects. Le piège est que les objets Javascript commencent par une majuscule (Date, Math, Array...) mais que les propriétés commencent par une minuscule (alert). - Attention à la confusion entre = opérateur d'affectation et == opérateur de comparaison.
Conclusion : débugger du Java script n'est pas toujours la joie mais avec l'habitude de ce genre d'exercice, on s'en sort assez bien. Conscient de ce réel problème, on semble mettre au point chez Netscape et Microsoft des débuggeurs mais je n'ai pas encore eu l'occasion de les tester.

Retour au Sommaire Javascript Suite de l'initiation : Des Réponses

ED   05/03/03
WebO
SpeeDEricH.com Nedstat Tu mesures ton audience ?