Accueil Finances personnelles S'attaquer aux messages d'erreur en programmation Java - mannequins

S'attaquer aux messages d'erreur en programmation Java - mannequins

Table des matières:

Vidéo: Introduction to the Sparx Systems Tools and Techniques for BABOK Guide v3 2025

Vidéo: Introduction to the Sparx Systems Tools and Techniques for BABOK Guide v3 2025
Anonim

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

S'attaquer aux messages d'erreur en programmation Java - mannequins

Le choix des éditeurs

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Windows, avec un W majuscule, tire son nom de sa caractéristique principale: Windows, avec un w minuscule. Se familiariser avec Windows signifie apprendre à ouvrir, fermer, redimensionner, déplacer et basculer entre les fenêtres, ce qui est la clé pour jongler avec succès avec plusieurs activités. Chaque programme que vous exécutez occupe sa propre fenêtre. Une fenêtre peut occuper une partie de ...

Comment accepter ou rejeter les cookies dans Safari - dummies

Comment accepter ou rejeter les cookies dans Safari - dummies

Un cookie est un petit fichier qu'un site Web enregistre automatiquement sur le disque dur de votre Mac. Il contient des informations, telles que vos préférences ou votre date de naissance, que le site utilisera lors de vos prochaines visites. Dans Mac OS X Snow Leopard, Safari vous permet de choisir d'accepter ou non tous les cookies ...

Le choix des éditeurs

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Pour créer une boîte ou une ligne dans QuarkXPress plus complexe qu'un simple rectangle, ovale ou starburst, vous entrez dans le domaine du chemin de Bézier. Si vous avez utilisé l'outil Plume dans Adobe Illustrator ou Photoshop, vous comprenez déjà les chemins de Bézier. Il faut un peu de pratique et un esprit détendu ...

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Le choix des éditeurs

Les connexions cachées sur le Nikon D5600 - les nuls

Les connexions cachées sur le Nikon D5600 - les nuls

Ouvrent les couvercles sur les côtés gauche et droit du Nikon D5600 caméra, et vous verrez plusieurs ports de connexions cachées. Les ports de connexion suivants sont indiqués sur cette image: Terminal d'accessoires: ce terminal accepte les accessoires suivants: câble déclencheur à distance Nikon MC-DC2; Télécommandes sans fil WR-1 et WR-R10; et les unités GPS GP-1 / GP-1A. I ...

Les connexions cachées sur votre Nikon D5200 - les nuls

Les connexions cachées sur votre Nikon D5200 - les nuls

ÉParpillés sur l'extérieur de votre appareil photo sont nombreuses commandes que vous utilisez pour changer d'image -prend des paramètres, revoir et modifier vos photos, et effectuer diverses autres opérations. Caché sous le couvercle sur le côté gauche de la caméra, vous trouverez les quatre ports de connexion suivants, étiquetés dans cette figure: Borne accessoire: Vous pouvez brancher le Nikon en option ...

Des boutons et autres commandes du Nikon D7500 - mannequins

Des boutons et autres commandes du Nikon D7500 - mannequins

C'est génial d'avoir une carte pour le boutons et commandes sur votre appareil photo, mais ce n'est pas beaucoup d'aide si vous ne pouvez pas vous rappeler quel bouton appuyer sur quand (et pourquoi). Alors, voici un aperçu des fonctions des contrôles les plus importants. (Certains contrôles ont des fonctions supplémentaires pendant certaines opérations, mais la table ...