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 udsteder en fejl 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 udsteder en fejl 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 udsteder en fejl eller en advarsel, når den støder på en feltadgang, der ikke er kvalificeret (f.eks. mangler et 'this').

Ignorér

Ikke-dokumenteret tom blok

Compileren udsteder en fejl eller en advarsel, når den støder på en tom bloksætning uden en forklarende kommentar.

Ignorér

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

Compileren udsteder en fejl 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 udsteder en fejl 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 udsteder en fejl eller en advarsel, når en type, der implementerer 'java.io.Serializable', ikke indeholder et serialVersionUID-felt.

Advarsel

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

Compileren udsteder en fejl eller en advarsel, når en tildeling ikke har nogen virkning (f.eks. x = x').

Advarsel

Mulig tilfældig Boolesk tildeling (f.eks. 'if (a = b)')

Compileren afsender en fejl eller en advarsel, når den støder på en muligvis utilsigtet boolesk tildeling (f.eks. 'if (a = b)').

Ignorér

'finally' udføres ikke normalt

Compileren udsteder en fejl eller en advarsel, når en 'finally'-sætning ikke afsluttes normalt (dvs. indeholder en retursætning).

Advarsel

Tom sætning

Compileren udsteder en fejl eller en advarsel, når den støder på en tom sætning (f.eks. et overflødigt semikolon).

Ignorér

Anvender char-array i sammenkædning af strenge:

Compileren udsteder en fejl 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

Lokalt i forbindelse med en try-sætning kan visse catch-blokke skjule andre, f.eks.

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

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

Advarsel

Unøjagtig typematch for vararg-argumenter

Compileren udsteder en fejl eller en advarsel, når den støder på en unøjagtig typematch for vararg-argumenter.

Advarsel

Indramnings- og ikke-indramningskonverteringer

Compileren udsteder en fejl eller en advarsel, når den støder på en indramnings- eller en ikke-indramningskonvertering. Automatisk indramning kan påvirke ydeevnen negativt.

Ignorér

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

Compileren udsteder en fejl eller en advarsel, når den støder på 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 udsteder en fejl eller en advarsel, når den støder på en switch-case uden en 'break'-sætning. Tomme switch-cases er tilladt.

Ignorér

NULL-reference

Compileren udsteder en fejl eller en advarsel, når den støder på 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 udsteder en fejl 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 udsteder en fejl 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 udsteder en fejl 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 udsteder en fejl 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 udsteder en fejl eller en advarsel, når en lokal variabel erklæres, men aldrig bruges inden for sit omfang.

Advarsel

Parameter læses ikke

Compileren udsteder en fejl 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

Ubrugt import

Compileren udsteder en fejl eller en advarsel i forbindelse med referencer til ikke-anvendte importer.

Advarsel

Ubrugte lokale eller private medlemmer

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

Advarsel

Unødvendig else-sætning

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

Ignorér

Unødvendig konvertering eller 'instanceof'-funktion

Compileren udsteder en fejl eller en advarsel, når den støder på 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 udsteder en fejl eller en advarsel, når den støder på en unødvendig erklæring af en returneret undtagelse.

Ignorér

Kontrollér tilsidesættelses- og implementeringsmetoder

Compileren udsteder også en fejl eller en advarsel, når den støder på en unødvendig erklæring af en returneret undtagelse i en tilsidesættende eller implementerende metode.

Deaktiveret

Ikke-benyttet break/continue-etiket

Compileren udsteder en fejl eller en advarsel, når den støder på en ubrugt etiket af typen 'break' eller 'continue'.

Advarsel

Generiske typer

Ikke-kontrolleret generisk typefunktion

Compileren udsteder en fejl eller en advarsel, når den støder på en ikke-kontrolleret generisk typefunktion.

Advarsel

Anvendelse af ubehandlet type

Compileren vil udstede en fejl eller en advarsel, når den støder på brugen 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 udsteder en fejl eller en advarsel, når den støder på en typebinding, der involverer en fastlagt type.

Advarsel

Annotationer

Manglende '@Override'-annotation

Compileren udsteder en fejl eller en advarsel, når den støder på en metode, der tilsidesætter en anden implementeret metode, og '@Override'-annotationen mangler.

Ignorér

Manglende '@Deprecated'-annotation

Compileren udsteder en fejl eller en advarsel, når den støder på en forældet type uden en yderligere '@Deprecated'-annotation

Ignorér

Annotation

Compileren udsteder en fejl eller en advarsel, når den støder på en type, der implementerer en annotation. Selvom det er muligt, betragtes det som uhensigtsmæssigt.

Advarsel

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

Compileren udsteder en fejl eller en advarsel, når den støder på et ikke-håndteret advarsels-token i en '@SuppressWarnings'-annotation.

Advarsel

Aktivér '@SuppressWarnings'-annotationer

Compilerne behandler '@SuppressWarnings'-annotationer.

Aktiveret

Relaterede begreber

Oversigten Problemer
Hurtig rettelse
Java-byggeprogram