Inhoudsopgave:

Basis Java-foutopsporing: 9 stappen
Basis Java-foutopsporing: 9 stappen

Video: Basis Java-foutopsporing: 9 stappen

Video: Basis Java-foutopsporing: 9 stappen
Video: funny video 9 2024, November
Anonim
Basis Java-foutopsporing
Basis Java-foutopsporing

Deze instructiegids behandelt een eenvoudige stapsgewijze controle voor Java-foutafhandeling. Deze handleiding biedt geen hulp bij het instellen van Java-programmeersoftware en verwacht dat u deze taak al van tevoren hebt voltooid. Voor een optimaal gebruik van deze handleiding, komt u erop terug wanneer er een fout optreedt waar u niet zeker van bent en controleert u de 8 veelvoorkomende mogelijkheden totdat u een oplossing vindt of het einde bereikt. Houd er rekening mee dat deze voorbeelden allemaal relatief eenvoudig zijn en bedoeld zijn voor beginnersondersteuning.

Voordat u begint met het doornemen van elke mogelijke oplossing, moet u de fout bekijken waarmee Java u op de hoogte stelt. Elke stap begint met de presentatie van de fout waaraan deze is gekoppeld.

Stap 1: “Syntaxisfout, invoegen “;” om BlockStatements te voltooien"

“Syntaxisfout, invoegen “;” om BlockStatements te voltooien"
“Syntaxisfout, invoegen “;” om BlockStatements te voltooien"

Dit zijn de meest elementaire syntaxisfouten, het betekent gewoon dat u een puntkomma aan het einde van uw verklaring bent vergeten. Alle verklaringen en uitdrukkingen eindigen met een puntkomma. In sommige andere gevallen, zoals bij if, else en voor statements, hoeft u de puntkomma niet te plaatsen.

Stap 2: "kan niet worden omgezet in een variabele" of "voeg VariableDeclarators in"

"kan niet worden omgezet in een variabele" of "voeg VariableDeclarators in"
"kan niet worden omgezet in een variabele" of "voeg VariableDeclarators in"

Deze syntaxisfout treedt op wanneer u probeert een variabele te gebruiken zonder deze eerst te hebben gemaakt of een gegevenstype te hebben opgegeven. Voeg eenvoudig het gegevenstype toe dat aan uw variabele is gekoppeld, voorbeelden kunnen "int", "boolean", "char" en "double" zijn.

Stap 3: "voeg "}" in om ClassBody te voltooien"

"voeg "}" in om ClassBody te voltooien
"voeg "}" in om ClassBody te voltooien

Onze volgende syntaxisfout heeft te maken met accolades. Normaal gesproken ziet u de fout optreden wanneer u een of beide accolades hebt gemist. Als u beide mist, ziet u de fout "insert "ClassBody" om ClassDeclaration te voltooien". Als er slechts één ontbreekt, ziet u de fout "insert "}" om ClassBody te voltooien" of "{ verwacht na dit token". De fouten zullen normaal gesproken optreden op de lijn waar de accolade kan worden geplaatst om een oplossing te bieden.

Stap 4: Oneindige lus

Oneindige lus
Oneindige lus

We kijken nu naar een geval waarin een fout hoogstwaarschijnlijk niet wordt geleverd door de Java-client. Dit gebeurt wanneer u een lus hebt, zoals een while-lus of een for-lus die oneindig doorloopt. Er is geen eenvoudig antwoord op de oplossing omdat de code van elke persoon zal verschillen, maar het proberen om een handmatige aanvullende limiet toe te voegen aan de code zou het primaire doel moeten zijn. Na die poging om erachter te komen waarom uw code niet kon voldoen aan uw loops break-voorwaarde?

Stap 5: "kan niet worden opgelost tot een type"

"kan niet worden opgelost tot een type"
"kan niet worden opgelost tot een type"
"kan niet worden opgelost tot een type"
"kan niet worden opgelost tot een type"

Deze syntaxisfout heeft te maken met import. Wanneer we een API van een andere klasse willen gebruiken, moeten we die klasse importeren in de huidige. Een veelvoorkomend verschijnsel hiervoor is het gebruik van de Scanner-functie, om deze te gebruiken moet u de klasse "java.util. Scanner" importeren. Houd er rekening mee dat dit slechts een voorbeeld is.

Stap 6: "De methode" is niet gedefinieerd voor het type"

"De methode "" is niet gedefinieerd voor het type"
"De methode "" is niet gedefinieerd voor het type"

Deze syntaxisfout treedt op wanneer we de klassenaam vergeten tijdens een methodeaanroep. Het belangrijkste voorbeeld hiervan is wanneer we proberen af te drukken. Als je iemand bent die uit een taal komt die een eenvoudige print()-functie gebruikt, kan dit vaak voorkomen. In plaats daarvan wilt u System.out.print() of System.out.println() gebruiken. Dit zal altijd gebeuren tijdens methodeaanroepen.

Stap 7: "string Letterlijk wordt niet goed afgesloten door een dubbel aanhalingsteken"

"string Letterlijk wordt niet goed afgesloten door een dubbel aanhalingsteken"
"string Letterlijk wordt niet goed afgesloten door een dubbel aanhalingsteken"

Deze syntaxis komt voor wanneer we Strings gebruiken. Het probleem heeft te maken met een open maar niet gesloten String. Het wordt altijd gemarkeerd op de regel waar het voorkomt en wordt vastgesteld door dat tweede dubbele aanhalingsteken te plaatsen. Als een kanttekening, als u probeert om enkele aanhalingstekens voor Strings te gebruiken, zal dit ook resulteren in een fout "ongeldige tekenconstante".

Stap 8: "retourtype voor de methode ontbreekt"

"retourtype voor de methode ontbreekt"
"retourtype voor de methode ontbreekt"
"retourtype voor de methode ontbreekt"
"retourtype voor de methode ontbreekt"

De laatste syntaxis die het vermelden waard is, is het retourtype van de methode en het ontbrekende rendement. Het "retourtype voor de methode ontbreekt" treedt op wanneer u een methode hebt die probeert iets te retourneren terwijl de specificatie van dat type in de methodehandtekening ontbreekt. De fout zal optreden in de handtekening en is meestal een zeer snelle oplossing. Als het gaat om de fout "methode moet een resultaat van type retourneren", moet u er alleen voor zorgen dat u iets met dat type retourneert.

Stap 9: Extra hulp

Als u geen oplossing voor uw fout hebt kunnen vinden, overweeg dan een van deze volgende opties te proberen. Kopieer de opmerking van Java over de opgetreden fout en probeer een oplossing te vinden door deze in een zoekopdracht op internet te plakken. Zoek naar enkele meer geavanceerde of expliciete Java-handleidingen voor foutafhandeling. Ten slotte, als geen van deze opties heeft geholpen en je hebt de tijd om te sparen, probeer dan je vraag op een ondersteuningsforum zoals Stackoverflow te plaatsen. U krijgt meestal een antwoordoplossing met een uitleg waarom de fout in de eerste plaats is opgetreden.

Aanbevolen: