Innholdsfortegnelse:
- NoClassDefFoundError
- NoSuchMethodError
- Kan ikke løse symbol
- Forventet '; '(Eller forventet noe annet)
- Manglende Metode Kropp eller Deklar Abstrakt
- En 'ellers' uten en 'hvis'
- Ikke-statisk variabel kan ikke refereres fra en statisk sammenheng
- FileNotFoundException (Systemet kan ikke finne filen spesifisert) eller EOFException
Video: Difference between Exception and Error in Java | Exception hierarchy in java 2025
Noen ganger kan feilmeldinger angripe inn i hjertet til selv den modigste programmøren. Heldigvis er noen nyttige, beroligende råd her - råd for å hjelpe deg med å løse problemet når du ser en av disse meldingene.
NoClassDefFoundError
Du får denne feilen når du prøver å kjøre koden din. Så spør deg selv, har du forsøkt å kompilere koden? Hvis ja, så du noen feilmeldinger når du kompilerte? Hvis du så feilmeldinger, se etter ting du kan fikse i din. java-fil. Prøv å fikse disse tingene, og kompilér deretter. java fil igjen.
Hvis du vanligvis holder kode i JavaPrograms-katalogen, må du sørge for at du fortsatt jobber i denne JavaPrograms-katalogen. (I Windows må du kontrollere at kommandoprompten sier JavaProgrammer.)
Pass på at du har en passende navn. klassefil i arbeidskatalogen din. For eksempel, hvis du prøver å kjøre et program kalt MyGreatProg, se etter en fil med navnet MyGreatProg. klasse i arbeidskatalogen din.
Sjekk din klassepath for å sikre at den inneholder. klassefil du trenger. For eksempel, hvis all din Java-kode er i arbeidskatalogen din, må du kontrollere at klassepanen inneholder en prikk.
NoSuchMethodError
Når du støter på denne feilmeldingen, må du kontrollere om feilnavn eller inkonsekvent kapitalisering av et metodenavn er. Kontroller kapitalisering av hoved (ikke hoved).
Når du utsteder kommandoen java (eller gjør hva du normalt gjør for å kjøre et program i ditt miljø), inneholder klassen du prøver å kjøre, sin egen hovedmetode? Hvis ikke, så finn klassen med hovedmetoden og kjør den klassen i stedet.
Kan ikke løse symbol
Hvis du får en feilmelding som inkluderer ikke, kan du ikke løse symbolet, sjekk stavemåten og kapitaliseringen av alle identifikatorer og søkeord. Sjekk deretter igjen.
Hvis det uløste symbolet er en variabel, må du kontrollere at denne variabelenes erklæring er på riktig sted. Hvis for eksempel variabelen er erklært i en forløps initialisering, prøver du å bruke den variabelen utenfor forløpet? Hvis variabelen er deklarert inne i en blokk (et par krøllete braces), prøver du å bruke den variabelen utenfor blokken?
Endelig, se etter feil i variabelenes erklæring. Hvis kompilatoren finner feil i en variabel erklæring, kan kompilatoren ikke løse det variabelenavnet i resten av koden.
Forventet '; '(Eller forventet noe annet)
Når du ser en feilmelding som sier'; "forvent, gå gjennom koden din og sørg for at hver setning og hver deklarasjon slutter med et semikolon.Hvis ja, så er kompilatorens gjetning om en manglende semikolon feil. Å fikse en annen (tilsynelatende ikke-relatert) feil og kompilere koden din kan bli kvitt en falsk '; "forventet melding.
For en manglende parentes, kontroller betingelsene for om setninger og sløyfer. Sørg for at hver tilstand er vedlagt i parentes. Sørg også for at en parameterliste (vedlagt i parentes) følger navnet på hver metode.
For en forventet melding, sjekk oppdragsoppgavene dine. Pass på at hver oppgaveoppgave er inne i en metode. (Husk at en deklarasjon med en initialisering kan være utenfor en metode, men hver ordinære gamle oppgaveoppgave må være inne i en metode.)
For den forventede meldingen "klasse" eller "grensesnittet", må du kontrollere at du har stavet ordklassen riktig. Hvis koden din har en importdeklarasjon, kontrollerer du stavemåten og kapitaliseringen av ordet import.
Manglende Metode Kropp eller Deklar Abstrakt
Du får en manglende metode kropp eller erklære abstrakt melding når kompilatoren ser en metode overskrift, men kompilatoren kan ikke finne metoden kropp. Se på slutten av metodens overskrift. Hvis du endte toppteksten med et semikolon, så prøv å fjerne semikolon.
Hvis overskriften ikke slutter med et semikolon, så sjekk koden umiddelbart etter overskriften. Koden som følger etter overskriften, skal starte med en åpen krøllestøtte (begynnelsen på en metodekropp). Hvis noen kode kommer mellom topptekst og kroppens åpne krøllestativ, bør du vurdere å flytte den koden et annet sted.
En 'ellers' uten en 'hvis'
Sammenlign antall hvis klausuler med antall andre klausuler. En if-klausul trenger ikke å ha et annet klausul, men hvert annet klausul må tilhøre en if-klausul.
Husk at du vedlegger en hvis tilstand i parentes, men du legger ikke et semikolon etter tilstanden. Forsvarte du feilaktig en hvis tilstand med et semikolon?
Se på alle linjene mellom en hvis og dens andre. Når du finner mer enn en setning mellom en hvis og dens andre, se etter krøllete braces. Hvis uttalelsene mellom if og om ikke er omgitt av krøllete braces, har du kanskje funnet skyldige.
Ikke-statisk variabel kan ikke refereres fra en statisk sammenheng
Mange ting kan gi deg en ikke-statisk variabel, kan ikke refereres fra en feilmelding om statisk kontekst. Men for begynnelsen programmerere, er den vanligste årsaken å ha en variabel som er erklært utenfor hovedmetoden. Det er ingen synd å erklære en slik variabel, men fordi hovedmetoden alltid er statisk, trenger du litt spesiell hjelp for å gjøre hovedmetoden referert til en variabel som er deklarert utenfor hovedmetoden.
Den raskeste løsningen er å sette ordet statisk foran variabelenes erklæring. Men først spør deg selv hvorfor denne erklæringens erklæring ikke er inne i hovedmetoden. Hvis det ikke er en god grunn, flytt deretter variabelenes erklæring slik at den er inne i hovedmetoden.
FileNotFoundException (Systemet kan ikke finne filen spesifisert) eller EOFException
Hvis du opplever en FileNotFoundException-melding, må du kontrollere at filen som er oppført i koden, faktisk eksisterer.(Se etter filen ved hjelp av systemets explorer eller bruk kommandolinjevinduet.) Dobbeltklikk stavemåten i koden din mot navnet på filen på harddisken.
Hvis du har funnet en riktig navngitt fil på harddisken, må du kontrollere at filen er i riktig katalog. (For et program som kjører i arbeidskatalogen din, finnes det også en typisk datafil i arbeidskatalogen.)
Hvis du er en Windows-bruker, må du forsikre deg om at systemet ikke har lagt til en ekstra. txt-utvidelsen når du opprettet filen. (Bruk kommandolinjevinduet til å kontrollere filens navn. Windows Utforsker kan gjemme.txt-utvidelsen, og det fører alltid til forvirring.)
For en EOFException prøver du sannsynligvis å lese mer data enn du har i fil. Svært ofte gjør en liten logikkfeil at programmet gjør dette. Så gjør en nøye gjennomgang av alle trinnene i programmets utførelse. Se etter subtile ting, som forkert primerte løkker eller lesing av arrayverdier forbi arrayets største indeks. Se etter forhold som bruker
