Table des matières:
- NoClassDefFoundError
- NoSuchMethodError
- Impossible de résoudre le symbole
- Attendu »; (Ou prévu quelque chose d'autre)
- Corps de méthode manquant ou déclaration abstraite
- Un 'else' sans 'if'
- La variable non statique ne peut pas être référencée à partir d'un contexte statique
- FileNotFoundException (Le système ne trouve pas le fichier spécifié) ou EOFException
Vidéo: Introduction to the Sparx Systems Tools and Techniques for BABOK Guide v3 2024
Parfois, les messages d'erreur peuvent faire peur au cœur même du programmeur le plus courageux. Heureusement, des conseils utiles et apaisants sont ici - des conseils pour vous aider à résoudre le problème lorsque vous voyez un de ces messages.
NoClassDefFoundError
Vous obtenez cette erreur lorsque vous essayez d'exécuter votre code. Alors demandez-vous d'abord, avez-vous essayé de compiler le code? Si oui, avez-vous vu des messages d'erreur lorsque vous avez compilé? Si vous avez vu des messages d'erreur, cherchez des choses que vous pouvez corriger dans votre. fichier java. Essayez de résoudre ces problèmes, puis compilez le. fichier Java à nouveau.
Si vous conservez normalement du code dans le répertoire JavaPrograms, vérifiez que vous travaillez toujours dans ce répertoire JavaPrograms. (Sous Windows, assurez-vous que l'invite de commande indique JavaPrograms.)
Assurez-vous d'avoir un nom approprié. fichier de classe dans votre répertoire de travail. Par exemple, si vous essayez d'exécuter un programme nommé MyGreatProg, recherchez un fichier nommé MyGreatProg. class dans votre répertoire de travail.
Vérifiez votre chemin de classe pour vous assurer qu'il contient le. fichier de classe dont vous avez besoin. Par exemple, si tout votre code Java est dans votre répertoire de travail, assurez-vous que le chemin de classe inclut un point.
NoSuchMethodError
Lorsque vous rencontrez ce message d'erreur, vérifiez la faute d'orthographe ou la mise en majuscule incohérente d'un nom de méthode. Vérifiez la capitalisation de la main (pas Main).
Lorsque vous lancez la commande java (ou faites ce que vous faites normalement pour exécuter un programme dans votre environnement), la classe que vous essayez d'exécuter contient-elle sa propre méthode principale? Sinon, trouvez la classe avec la méthode principale et exécutez cette classe à la place.
Impossible de résoudre le symbole
Si vous obtenez un message d'erreur indiquant que le symbole ne peut pas être résolu, vérifiez l'orthographe et la majuscule de tous les identifiants et mots-clés. Puis vérifiez à nouveau.
Si le symbole non résolu est une variable, assurez-vous que la déclaration de cette variable est au bon endroit. Par exemple, si la variable est déclarée dans l'initialisation d'une boucle for, essayez-vous d'utiliser cette variable en dehors de la boucle for? Si la variable est déclarée à l'intérieur d'un bloc (une paire d'accolades), essayez-vous d'utiliser cette variable en dehors du bloc?
Enfin, recherchez les erreurs dans la déclaration de la variable. Si le compilateur trouve des erreurs dans la déclaration d'une variable, le compilateur ne peut pas résoudre ce nom de variable dans le reste du code.
Attendu »; (Ou prévu quelque chose d'autre)
Lorsque vous voyez un message d'erreur qui dit '; 'attendu, passez en revue votre code et assurez-vous que chaque déclaration et chaque déclaration se termine par un point-virgule.Si c'est le cas, alors peut-être que l'estimation du compilateur concernant un point-virgule manquant est incorrecte. Corriger une autre erreur (apparemment sans rapport) et recompiler votre code peut vous débarrasser d'un faux; 'message attendu.
Pour une parenthèse manquante, vérifiez les conditions des instructions if et des boucles. Assurez-vous que chaque condition est entre parenthèses. Assurez-vous également qu'une liste de paramètres (entre parenthèses) suit le nom de chaque méthode.
Pour un message attendu, vérifiez vos instructions d'affectation. Assurez-vous que chaque instruction d'affectation est à l'intérieur d'une méthode. (Rappelez-vous qu'une déclaration avec une initialisation peut être en dehors d'une méthode, mais chaque ancienne instruction d'assignation doit être dans une méthode.)
Pour le message attendu 'class' ou 'interface', assurez-vous d'avoir épelé classe de mots correctement. Si votre code a une déclaration d'importation, vérifiez l'orthographe et la majuscule du mot import.
Corps de méthode manquant ou déclaration abstraite
Vous obtenez un corps de méthode manquant ou déclarez un message abstrait lorsque le compilateur voit un en-tête de méthode, mais le compilateur ne peut pas trouver le corps de la méthode. Regardez la fin de l'en-tête de la méthode. Si vous avez terminé l'en-tête avec un point-virgule, essayez de supprimer le point-virgule.
Si l'en-tête ne se termine pas par un point-virgule, vérifiez le code immédiatement après l'en-tête. Le code qui suit immédiatement l'en-tête doit commencer par une accolade ouverte (le début d'un corps de méthode). Si du code entre l'en-tête et l'accolade ouverte du corps, pensez à déplacer ce code ailleurs.
Un 'else' sans 'if'
Comparez le nombre de clauses if avec le nombre de clauses else. Une clause if n'a pas besoin d'avoir une clause else, mais chaque clause else doit appartenir à une clause if.
Rappelez-vous que vous mettez une condition if entre parenthèses, mais que vous ne mettez pas de point-virgule après la condition. Avez-vous par erreur mis fin à une condition if avec un point-virgule?
Regardez toutes les lignes entre un si et son autre. Lorsque vous trouvez plus d'une déclaration entre un si et son autre, recherchez des accolades. Si les déclarations entre le si et son autre ne sont pas entourées d'accolades, vous avez peut-être trouvé le coupable.
La variable non statique ne peut pas être référencée à partir d'un contexte statique
Beaucoup de choses peuvent vous donner une variable non statique ne peut pas être référencée à partir d'un message d'erreur de contexte statique. Mais pour les programmeurs débutants, la cause la plus courante est d'avoir une variable déclarée en dehors de la méthode principale. Ce n'est pas un péché de déclarer une telle variable, mais comme la méthode principale est toujours statique, vous avez besoin d'une aide spéciale pour que la méthode principale se réfère à une variable déclarée en dehors de la méthode principale.
La solution la plus rapide est de mettre le mot statique devant la déclaration de la variable. Mais d'abord, demandez-vous pourquoi la déclaration de cette variable n'est pas dans la méthode principale. S'il n'y a pas de bonne raison, déplacez la déclaration de la variable pour qu'elle se trouve dans la méthode principale.
FileNotFoundException (Le système ne trouve pas le fichier spécifié) ou EOFException
Si vous rencontrez un message FileNotFoundException, vérifiez que le fichier indiqué dans votre code existe réellement.(Recherchez le fichier en utilisant l'explorateur de votre système ou en utilisant la fenêtre d'invite de commande.) Vérifiez l'orthographe de votre code par rapport au nom du fichier sur votre disque dur.
Si vous avez trouvé un fichier correctement nommé sur votre disque dur, assurez-vous que le fichier se trouve dans le bon répertoire. (Pour un programme exécuté dans votre répertoire de travail, un fichier de données typique se trouve également dans le répertoire de travail.)
Si vous utilisez Windows, assurez-vous que le système n'a pas ajouté de fichier supplémentaire. extension txt lorsque vous avez créé le fichier. (Utilisez la fenêtre d'invite de commande pour vérifier le nom du fichier.Explorateur Windows peut masquer l'extension.txt, et cela conduit toujours à la confusion.)
Pour une exception EOFException, vous essayez probablement de lire plus de données que vous avez dans le fichier. Très souvent, une petite erreur de logique fait que votre programme le fasse. Faites donc un examen attentif de toutes les étapes de l'exécution de votre programme. Recherchez des choses subtiles, comme des boucles incorrectement amorcées ou la lecture de valeurs de tableau après le plus grand index du tableau. Recherchez les conditions qui utilisent