Fejl/Advarsler

Du kan angive de foretrukne indstillinger for Fejl/Advarsler på indstillingssiden Åbner indstillingssiden Fejl/Advarsler Java > Compiler > Fejl/Advarsler.

Kodetype

Indstilling

Beskrivelse

Standard

Ikke-statisk adgang til statisk medlem

Compileren udsender en fejlmeddelelse eller en advarsel, når et statisk felt eller en statisk metode åbnes med en udtryksmodtager. En reference til et statisk medlem skal kvalificeres med et typenavn.

Advarsel

Indirekte adgang til et statisk medlem

Compileren udsender en fejlmeddelelse eller en advarsel, når et statisk felt eller en statisk metode åbnes indirekte. Et statisk felt for en grænseflade skal kvalificeres med det erklærende typenavn.

Ignorér

Ukvalificeret adgang til feltet

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en feltadgang, der ikke er kvalificeret (f.eks. mangler et 'this').

Ignorér

Ikke-dokumenteret tom blok

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en tom bloksætning uden en forklarende kommentar.

Ignorér

Adgang til et ikke tilgængeligt medlem i en omsluttende type

Compileren udsender en fejlmeddelelse eller en advarsel, når den emulerer adgang til et ikke-tilgængeligt medlem i en omsluttende type. Sådanne adgange kan have konsekvenser for ydeevnen.

Ignorér

Metode med konstruktørnavn

Navngivning af en metode med et konstruktørnavn betragtes normalt som uhensigtsmæssig programmering. Hvis du aktiverer denne mulighed, vil compileren angive en sådan situation enten som en fejl eller en advarsel.

Advarsel

Parametertildeling

Tildeling af en værdi til en parameter betragtes normalt som uhensigtsmæssig programmering. Hvis du aktiverer denne mulighed, vil compileren angive en sådan situation enten som en fejl eller en advarsel.

Ignorér

Ikke-eksternaliserede strenge

Compileren udsender en fejlmeddelelse eller en advarsel for ikke-eksternaliserede strengkonstanter (dvs. ikke kodet med //$NON-NLS-<n>$) eller for koder for ikke-eksternaliserede strenge, som ikke har typen String.

Ignorér

Potentielle programmeringsproblemer

Serialisérbar klasse uden serialVersionUID

Compileren udsender en fejlmeddelelse eller en advarsel, når en type, der implementerer 'java.io.Serializable', ikke indeholder et serialVersionUID-felt.

Advarsel

Tilknytning har ingen virkning (f.eks. 'x = x')

Når denne indstilling er aktiveret, sender compileren en fejlmeddelelse eller en advarsel, hver gang en tildeling ikke har nogen effekt (for eksempel 'x = x').

Advarsel

Mulig tilfældig boolesk tilknytning (f.eks. 'if (a = b)')

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en mulig tilfældig boolesk tilknytning (f.eks. 'if' (a = b)').

Ignorér

'finally' udføres ikke normalt

Compileren udsender en fejlmeddelelse eller en advarsel, når en 'finally'-sætning ikke afsluttes normalt (f.eks. indeholder en retursætning).

Advarsel

Tom sætning

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en tom sætning (f.eks. et overflødigt semikolon).

Ignorér

Anvender char-array i sammenkædning af strenge:

Compileren udsender en fejlmeddelelse eller en advarsel, når et char[]-udtryk anvendes i sammenkædning af strenge,

"hello" + new char[]{'w','o','r','l','d'}

Advarsel

Skjulte catch-blokke

Når visse catch-blokke er lokale for en try-sætning, kan de skjule andre. Eksempel:

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Compileren udsender en fejlmeddelelse eller en advarsel for skjulte catch-blokke, som svarer til kontrollerede undtagelser.

Advarsel

Unøjagtig typematch for vararg-argumenter

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en unøjagtig typematch for vararg-argumenter.

Advarsel

Indramnings- og ikke-indramningskonverteringer

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en indramnings- eller en ikke-indramningskonvertering. Automatisk indramning kan påvirke ydeevnen negativt.

Ignorér

Enum-konstant er ikke dækket ifm. 'switch'

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en switch-sætning, der ikke indeholder case-sætninger for hver Enum-konstant i den refererede Enum.

Ignorér

Fallthrough for 'switch'-case

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en switch-case uden en 'break'-sætning. Tomme switch-cases er tilladt.

Ignorér

Adgang til NULL-pointer

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder dereference-funktionen for en lokal variabel, som bestemt er NULL. Bemærk, at ikke alle adgange til NULL-pointers kan findes ved analysen. Se under Mulig adgang til NULL-pointer.

Ignorér

Mulig adgang til NULL-pointer

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder dereference-funktionen for en lokal variabel, som kan være NULL. Bemærk, at analysen er ret forsigtig. Den behandler kun tilfælde med et mistænkeligt indhold.

Ignorér

Navneskygning og -konflikter

Felterklæringen skjuler et andet felt eller en anden variabel

Compileren udsender en fejlmeddelelse eller en advarsel, hvis en felterklæring skjuler et andet overtaget felt.

Ignorér

Lokal variabelerklæring skjuler et andet felt eller en anden variabel

Compileren udsender en fejlmeddelelse eller en advarsel, hvis en lokal variabelerklæring skjuler et andet felt eller en anden variabel.

Ignorér

Inkludér parametre for konstruktør- eller setter-metode

Compileren udsteder også en fejl eller en advarsel, hvis en konstruktør- eller setter-metodeparameter skjuler et andet felt eller en anden variabel.

Deaktiveret

Typeparameteren skjuler en anden type

Compileren udsender en fejlmeddelelse eller en advarsel, hvis f.eks. en typeparameter i en indre klasse skjuler en ydre type.

Advarsel

Metoder tilsidesat, men ikke synlige for pakke

En pakkestandardmetode er ikke synlig i en anden pakke og kan derfor ikke tilsidesættes. Hvis du aktiverer denne mulighed, vil compileren angive en sådan situation enten som en fejl eller en advarsel.

Advarsel

Grænseflademetoden er i konflikt med beskyttet 'Object'-metode

Compileren udsender en fejlmeddelelse eller en advarsel, når en grænseflade definerer en metode, der er inkompatibel med en ikke-overtaget objektmetode. En sådan grænseflade kan ikke implementeres, før denne konflikt er løst, f.eks.

interface I {
   int clone();
}

Advarsel

Forældet og begrænset API

Forældet API

Compileren viser brugen af et forældet API som enten en fejl eller en advarsel.

Advarsel

Signalanvendelse af forældet API i forældet kode

Compileren vil gøre opmærksom på brug af forældet API i forældet kode. Problemets niveau kontrolleres med indstillingen "Forældet API".

Deaktiveret

Signalér tilsidesat eller implementeret forældet metode

Compileren vil gøre opmærksom på tilsidesættelse eller implementering af en forældet metode. Problemets niveau styres med indstillingen "Forældet API".

Deaktiveret

Ikke tilladt reference (adgangsregler)

Compileren vil gøre opmærksom på en ikke-tilladt reference angivet i adgangsreglerne.

Fejl

Frarådet reference (adgangsregler)

Compileren gør opmærksom på en frarådet reference angivet i adgangsreglerne.

Advarsel

Unødvendig kode

Lokal variabel læses ikke

Compileren udsender en fejlmeddelelse eller en advarsel, når en lokal variabel erklæres, men aldrig bruges inden for sit omfang.

Advarsel

Parameter læses ikke

Compileren udsender en fejlmeddelelse eller en advarsel, når en parameter erklæres, men aldrig bruges inden for sit omfang.

Ignorér

Kontrollér tilsidesættelses- og implementeringsmetoder

Compileren udsteder også en fejl eller en advarsel, når en parameter erklæres, men aldrig bruges inden for sit omfang i tilsidesættelses- eller implementeringsmetoder.

Deaktiveret

Ignorér parametre dokumenteret med koden '@param'

Compileren udsender ikke en fejlmeddelelse eller en advarsel, når en ulæst parameter dokumenteres med koden '@param'.

Aktiveret

Ubrugt import

Compileren udsender en fejlmeddelelse eller en advarsel i forbindelse med referencer til ikke-anvendte importer.

Advarsel

Ubrugte lokale eller private medlemmer

Compileren udsender en fejlmeddelelse eller en advarsel, når et lokalt eller privat medlem erklæres, men aldrig bruges inden for den samme enhed.

Advarsel

Overflødig NULL-kontrol

Compileren udsender en fejlmeddelelse eller en advarsel, når en lokal variabel, som ikke kan være NULL, bliver testet for NULL.

Ignorér

Unødvendig 'else'-sætning

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en unødvendig else-sætning (f.eks. if (condition) return; else doSomething();).

Ignorér

Unødvendig konvertering eller 'instanceof'-funktion

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en unødvendig konvertering eller 'instanceof'-funktion (f.eks. if (object instanceof Object) return;).

Ignorér

Unødvendig erklæring af returneret kontrolleret undtagelse

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en unødvendig erklæring af en returneret undtagelse.

Ignorér

Kontrollér tilsidesættelses- og implementeringsmetoder

Compileren udsender også en fejlmeddelelse eller en advarsel, når den møder en unødvendig erklæring af en returneret undtagelse i en tilsidesættende eller implementerende metode.

Deaktiveret

Ubrugt etiket af typen 'break' eller 'continue'

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder på en ubrugt etiket af typen 'break' eller 'continue'.

Advarsel

Generiske typer

Ikke-kontrolleret generisk typefunktion

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en ikke-kontrolleret generisk typefunktion.

Advarsel

Anvendelse af ubehandlet type

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder anvendelsen af en ubehandlet (raw) type (dvs. List i stedet for List<String>).

Ignorér

Generisk typeparameter erklæret med binding af en afsluttende type

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en typebinding, der involverer en fastlagt type.

Advarsel

Annotationer

Manglende '@Override'-annotation

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en metode, der tilsidesætter en anden implementeret metode, og '@Override'-annotationen mangler.

Ignorér

Manglende '@Deprecated'-annotation

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en forældet type uden en yderligere '@Deprecated'-annotation

Ignorér

Annotation

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder en type, der implementerer en annotation. Selv om det er muligt, betragtes det som uhensigtsmæssigt.

Advarsel

Ikke-håndterede advarsels-tokens i '@SuppressWarnings'

Compileren udsender en fejlmeddelelse eller en advarsel, når den møder et ikke-håndteret advarsels-token i en '@SuppressWarnings'-annotation.

Advarsel

Aktivér '@SuppressWarnings'-annotationer

Compilerne behandler '@SuppressWarnings'-annotationer.

Aktiveret

Hvis indstillingen Håndtér fejl som uoprettelige compiler-fejl aktiveres, medfører alle genererede fejl, hvad enten de er uoprettelige eller kan konfigureres, at koden ikke kan udføres. Hvis indstillingen deaktiveres, kan koden udføres, så længe den ikke rummer uoprettelige fejl, f.eks. syntaksfejl.

Relaterede begreber

Oversigten Problemer
Hurtig rettelse
Java-byggeprogram