La lutte contre les messages d'erreur dans la programmation java

Parfois, les messages d'erreur peuvent semer la peur dans le cœur des plus braves programmeur. Heureusement certains, des conseils utiles apaisement est ici - des conseils pour vous aider à résoudre le problème quand vous voyez un de ces messages.

Sommaire

NoClassDefFoundError

Vous obtenez cette erreur lorsque vous essayez d'exécuter votre code. Alors demandez-vous, avez-vous essayez de compiler le code? Si oui, avez-vous vu des messages d'erreur lorsque vous avez compilé? Si vous avez vu les messages d'erreur, chercher des choses que vous pouvez fixer dans votre .café fichier. Essayez de résoudre ces choses, puis compiler le .café déposer de nouveau.

Si vous gardez normalement code dans le JavaPrograms répertoire, assurez-vous que vous êtes toujours à travailler dans ce JavaPrograms répertoire. (Sous Windows, assurez-vous que l'invite de commande dit JavaPrograms.)

Assurez-vous que vous avez un bien nommé .classe déposer dans votre répertoire de travail. Par exemple, si vous essayez d'exécuter un programme appelé MyGreatProg, chercher un fichier nommé MyGreatProg.class dans votre répertoire de travail.

Vérifiez votre chemin de classe pour vous assurer qu'il contient la .classe fichier que vous avez besoin. Par exemple, si tout le code Java est votre 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 de capitalisation incompatibles d'un nom de méthode. Vérifiez la capitalisation des principal (non Principal).

Lorsque vous exécutez la café commande (ou faire ce que vous faites normalement pour exécuter un programme dans votre environnement), fait la classe que vous essayez d'exécuter contient sa propre principal méthode? Si non, alors trouver la classe avec le principal méthode et exécutez cette classe à la place.

Ne peut pas résoudre Symbole

Si vous obtenez un message d'erreur qui inclut ne peut pas résoudre le symbole, vérifier l'orthographe et la capitalisation 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 à la bonne place. Par exemple, si la variable est déclarée dans un pour l'initialisation de la boucle, que vous essayez d'utiliser cette variable en dehors de la pour boucle? Si la variable est déclarée dans un bloc (une paire d'accolades), que vous essayez d'utiliser cette variable en dehors du bloc?

Enfin, chercher des erreurs dans la déclaration de la variable. Si le compilateur trouve des erreurs dans la déclaration d'une variable, alors le compilateur ne peut pas résoudre ce nom de variable dans le reste du code.

Attendu '-' (ou autre chose prévue)

Quand vous voyez un message d'erreur qui dit '-' Attendre, passer par votre code et assurez-vous que chaque énoncé et chaque déclaration se termine par un point-virgule. Si oui, alors peut-être de deviner au compilateur un point-virgule manquant est incorrect. Fixation autre erreur (apparemment sans rapport) et une recompilation de code peut se débarrasser d'un faux '-' Attendre message.

Pour une parenthèse manquante, vérifier les conditions de si des déclarations et des boucles. Assurez-vous que chaque condition est mise entre parenthèses. Aussi, assurez-vous que une liste de paramètres (entre parenthèses) suit le nom de chaque méthode.

Pour un attendu message, vérifiez vos déclarations d'affectation. Assurez-vous que chaque instruction d'affectation est à l'intérieur d'une méthode. (Rappelez-vous, une déclaration par une initialisation peut être en dehors d'une méthode, mais chaque ancienne instruction d'affectation doit être plaine intérieur d'une méthode.)

Pour le «classe» ou «interface» prévu message, assurez-vous que vous avez bien orthographié le mot classe correctement. Si votre code a une importation déclaration, vérifier l'orthographe et la capitalisation du mot importation.

Manquant corps de méthode ou de déclarer Résumé

Vous obtenez un manquant corps de la méthode ou de déclarer abstraite message lorsque le compilateur voit un en-tête de la 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, puis essayez de supprimer le point-virgule.

Si l'en-tête ne se termine pas par un point virgule, puis vérifier le code suivant immédiatement l'en-tête. Le code qui suit immédiatement l'en-tête devrait commencer par une accolade ouverte (le début d'un corps de la méthode). Si un code vient entre la tête et ouvert accolade du corps, envisager de déplacer ce code ailleurs.

Un 'else' sans 'si'


Comparez le nombre de si clauses avec le nombre de autre clauses. Un si clause n'a pas besoin d'avoir un autre clause, mais chaque autre clause doit appartenir à un si clause.

Rappelez-vous, vous joignez une si état entre parenthèses, mais vous ne mettez pas un point virgule après la condition. Avez-vous finissez par erreur une si état avec un point-virgule?

Regardez toutes les lignes entre un si et c'est autre. Lorsque vous trouvez plus d'une instruction entre une si et c'est autre, chercher des accolades. Si les états entre le si et c'est autre ne sont pas entourés par des accolades, vous pouvez avoir trouvé le coupable.

Variable non statique 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 contexte statique Message d'erreur. Mais pour programmeurs débutants, la cause la plus commune est d'avoir une variable qui est déclarée en dehors de la principal Procédé. Il n'y a pas de péché à déclarer une telle variable, mais parce que le principal Procédé toujours statique, vous avez besoin d'une aide spéciale pour faire le principal méthode référer à une variable qui est déclarée en dehors de la principal Procédé.

La solution la plus rapide est de mettre le mot statique en face de la déclaration de la variable. Mais d'abord, demandez-vous pourquoi la déclaration de cette variable ne sont pas à l'intérieur du principal Procédé. Si il n'y a aucune bonne raison, puis déplacez la déclaration de la variable de sorte qu'il est à l'intérieur du principal Procédé.

FileNotFoundException (Le système ne peut pas trouver le fichier spécifié) ou EOFException

Si vous rencontrez un FileNotFoundException message, vérifiez que le fichier nommé dans votre code existe réellement. (Cherchez le fichier en utilisant l'explorateur de votre système ou en utilisant la fenêtre d'invite de commande.) Double-vérifier l'orthographe dans votre code contre le nom du fichier sur votre disque dur.

Si vous avez trouvé un fichier nommé correctement sur votre disque dur, assurez-vous que le fichier est dans le bon répertoire. (Pour un programme en cours d'exécution dans votre répertoire de travail, un fichier de données typique est dans le répertoire de travail aussi.)

Si vous êtes un utilisateur de Windows, assurez-vous que le système n'a pas ajouter un supplément .SMS extension lorsque vous avez créé le fichier. (Utilisez la fenêtre d'invite de commande pour vérifier le nom du fichier. Explorateur Windows peut cacher la .SMS extension, et qui conduit toujours à confusion.)

Pour un EOFException, vous êtes probablement en essayant de lire plus de données que vous avez dans le fichier. Très souvent, une petite erreur de logique rend votre programme ce faire. Donc, faire un examen attentif de toutes les étapes de l'exécution de votre programme. Rechercher des choses subtiles, comme les boucles mal apprêtées ou la lecture des valeurs de tableau passé le plus grand index du tableau. Recherchez conditions qui utilisent lt; = quand ils devraient utiliser lt;. De telles conditions peuvent souvent être gênant.


» » » » La lutte contre les messages d'erreur dans la programmation java