Chyby/varování

Označte své předvolby nastavení Chyb/varování na stránce předvoleb Otevřít stránku předvoleb Chyby/varování Java > Kompilátor > Chyby/varování.

Styl kódu

Volba

Popis

Výchozí

Nestatický přístup ke statickému členu

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při přístupu do statického pole nebo metody s použitím přijímače výrazu. Odkaz na statický člen by měl být kvalifikován názvem typu.

Varování

Nepřímý přístup ke statickému členu

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při nepřímém přístupu do statického pole nebo metody. Statické pole rozhraní by mělo být provedeno s použitím názvu deklarujícího typu.

Ignorovat

Nekvalifikovaný přístup k poli instance

Povolíte-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu přístupu k poli, které není kvalifikováno (např. chybí 'this').

Ignorovat

Nedokumentovaný prázdný blok

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu příkazu prázdného bloku bez vysvětlující poznámky.

Ignorovat

Přístup k nepřístupnému členu zapouzdřujícího typu

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při emulaci přístupu k nepřístupnému členu zapouzdřujícího typu. Takovéto přístupy mohou mít dopad na výkon.

Ignorovat

Metoda s názvem konstruktoru

Pojmenování metody názvem konstruktoru je obecně považováno za chybný styl programování. Pokud povolíte tuto volbu, bude kompilátor při rozpoznání tohoto scénáře vytvářet chybové hlášení nebo varování.

Varování

Přiřazení parametrů

Přiřazení hodnoty parametru je obecně považováno za chybný styl programování. Pokud povolíte tuto volbu, bude kompilátor při rozpoznání tohoto scénáře vytvářet chybové hlášení nebo varování.

Ignorovat

Neexternalizované řetězce

Je-li tato volba povolena, kompilátor bude generovat chybu nebo varování pro neexternalizovaný řetězcový literál (tj. řetězec neoznačený značkou //$NON-NLS-<n>$) nebo pro neexternalizované řetězcové značky, které nepatří do řetězce.

Ignorovat

Potenciální problémy programování

Serializovatelná třída postrádá serialVersionUID

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy, když typ implementující 'java.io.Serializable' neobsahuje pole serialVersionUID.

Varování

Přiřazení bez účinku (např. 'x = x')

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu přiřazení bez účinku (např. 'x = x').

Varování

Možné nechtěné logické přiřazení (např. 'if (a = b)')

Je-li tato volba povolena, kompilátor bude vytvářet chybová hlášení nebo výstrahy vždy při rozpoznání možného nechtěného přiřazení (např. 'if (a = b)').

Ignorovat

Část 'finally' není ukončena obvyklým způsobem

Povolíte-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při neobvyklém ukončení příkazu 'finally' (např. obsahuje příkaz return).

Varování

Prázdný příkaz

Povolíte-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu prázdného příkazu (např. nadbytečného středníku).

Ignorovat

Použití pole char ve zřetězení řetězce

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při použití výrazu char[] ve spojování řetězců ,např.

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

Varování

Skrytý zachytávací blok

V rámci příkazu try mohou být některé bloky příkazu catch skrývány jinými bloky catch, např.

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

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování pro skryté bloky příkazu catch podle potvrzených výjimek.

Varování

Nepřesná shoda typu pro argumenty vararg

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nepřesné shody typu pro argumenty vararg.

Varování

Převod uzavírání a otevírání

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu převodu uzavírání a otevírání. Automatické uzavírání může mít negativní dopad na výkon.

Ignorovat

Konstanta výčtového typu nepokrytá příkazem 'switch'

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu příkazu switch, který neobsahuje příkazy case pro všechny výčtové konstanty odkazovaného výčtu.

Ignorovat

Neúspěch příkazu 'switch'

Je-li povolena tato volba, kompilátor bude generovat chybu nebo varování vždy při rozpoznání přepínače case bez příkazu 'break'. Prázdné přepínače case jsou povoleny.

Ignorovat

Přístup k ukazateli Null

Je-li povolena tato volba, kompilátor bude generovat chybové hlášení nebo varování při rozpoznání nepřímého odkazu na lokální proměnnou, jejíž hodnota je mimo pochybnost nulová. Mějte na zřeteli, že analýza není schopna vyhledat všechny přístupy s ukazateli Null, viz Potenciální přístup k ukazateli Null.

Ignorovat

Potenciální přístup k ukazateli Null

Je-li povolena tato volba, kompilátor bude generovat chybu nebo varování při rozpoznání nepřímého odkazu na proměnnou, která může být nulová. Povšimněte si, že analýza je velmi konzervativní - posuzuje pouze případy s podezřelými prvky.

Ignorovat

Stínování a konflikty názvů

Deklarace pole skrývá jiné pole nebo proměnnou

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování, pokud deklarace pole skrývá jiné zděděné pole.

Ignorovat

Deklarace lokální proměnné skrývá jiné pole nebo proměnnou

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení či varování, pokud deklarace lokální proměnné skrývá jiné pole nebo proměnnou.

Ignorovat

Zahrnout konstruktor nebo parametry metody Setter

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení nebo varování, pokud konstruktor nebo parametr metody setter skrývá jiné pole nebo proměnnou.

Vypnout

Parametr typu skrývá jiný typ

Povolíte-li tuto volbu, kompilátor bude vytvářet chybová hlášení nebo varování například v situaci, kdy parametr typu vnitřní třídy skrývá vnější typ.

Varování

Potlačené metody, ale neviditelné v balíku

Výchozí metoda balíku se nezobrazuje v jiném balíku, a proto ji nelze potlačit. Pokud povolíte tuto volbu, bude kompilátor při rozpoznání tohoto scénáře vytvářet chybové hlášení nebo varování.

Varování

Metoda rozhraní koliduje s chráněnou metodou 'Object'

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy, když bude rozhraní definovat metodu nekompatibilní s metodou nezděděného objektu. Dokud tento konflikt nebude vyřešen, nelze implementovat takovéto rozhraní, například

rozhraní I {
   int clone();
}

Varování

Zamítnutá a omezená rozhraní API

Zamítnuté rozhraní API

Pokud povolíte tuto volbu, kompilátor při použití zamítnutého rozhraní API vytvoří chybové hlášení nebo varování.

Varování

Použití signálu zamítnutého rozhraní API uvnitř zamítnutého kódu

Pokud povolíte tuto volbu, kompilátor bude signalizovat použití zamítnutého rozhraní API uvnitř zamítnutého kódu. Závažnost problému se řídí volbou "Zamítnuté rozhraní API".

Vypnout

Signál potlačující nebo implementující zamítnutou metodu

Pokud povolíte tuto volbu, kompilátor bude signalizovat potlačení nebo implementaci zamítnuté metody Závažnost problému se řídí volbou "Zamítnuté rozhraní API".

Vypnout

Zakázaný odkaz (přístupová pravidla)

Pokud povolíte tuto možnost, kompilátor bude signalizovat zakázaný odkaz uvedený v přístupových pravidlech.

Chyba

Nevhodný odkaz (přístupová pravidla)

Pokud povolíte tuto možnost, kompilátor bude signalizovat nevhodný odkaz uvedený v přístupových pravidlech.

Varování

Nadbytečný kód

Lokální proměnná se nikdy nečte

Je-li povolena tato volba, kompilátor bude generovat chybu nebo varování při rozpoznání deklarace lokální proměnné, která není použita ve svém rozsahu.

Varování

Parametr se nikdy nečte

Je-li tato volba povolena, kompilátor bude generovat chybu nebo varování při deklaraci parametru, který není ve svém rozsahu použit.

Ignorovat

Zkontrolovat metody zajišťující potlačení a implementaci

Je-li povolena tato volba, kompilátor bude generovat chybu nebo výstrahu při deklaraci parametru, který není použit ve svém rozsahu v potlačujících nebo implementujících metodách.

Vypnout

Ignorovat parametry dokumentované značkou '@param'

Je-li povolena tato volba, kompilátor nebude vytvářet chybové zprávy ani výstrahy pro nepoužité parametry dokumentované značkou '@param'.

Zapnout

Nepoužívaný import

Pokud povolíte tuto volbu, kompilátor bude pro nepoužitý odkaz importu vytvářet chybové hlášení nebo varování.

Varování

Nepoužívané lokální nebo soukromé členy

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při deklaraci lokálního nebo soukromého členu, pokud tento prvek není v této jednotce použit.

Varování

Redundantní kontrola Null

Je-li tato volba povolena, kompilátor bude vytvářet chybové zprávy nebo varování vždy při testování nuly pro lokální proměnnou, která nemůže být nulová.

Ignorovat

Nadbytečný příkaz 'else'

Povolíte-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu zbytečného příkazu else (např. if (condition) return; else doSomething();).

Ignorovat

Zbytečné přetypování nebo operace 'instanceof'

Povolíte-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu zbytečného přetypování nebo operace 'instanceof' (např. if (object instanceof Object) return;).

Ignorovat

Nadbytečná deklarace vrácené kontrolované výjimky

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nadbytečné deklarace vyhozené kontrolované výjimky.

Ignorovat

Zkontrolovat metody zajišťující potlačení a implementaci

Pokud povolíte tuto volbu, kompilátor bude navíc vytvářet chybová hlášení nebo varování vždy při výskytu nadbytečné deklarace vyhozené kontrolované výjimky v metodě zajišťující potlačení nebo implementaci.

Vypnout

Nepoužitý štítek 'break' nebo 'continue'

Je-li povolena tato volba, kompilátor bude generovat chybu nebo varování vždy při rozpoznání nepoužitého štítku 'break' nebo 'continue'.

Varování

Generické typy

Nekontrolovaná operace s generickým typem

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nekontrolované operace s generickým typem.

Varování

Použití typu raw

Je-li povolena tato volba, kompilátor bude generovat chybu nebo varování vždy při rozpoznání použití typu raw (tj. Seznam místo Seznam<Řetězec>).

Ignorovat

Je deklarován generický typový parametr s konečnou typovou vazbou

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu typové vazby zahrnující konečný typ.

Varování

Anotace

Chybí anotace '@Override'

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu metody potlačující jinou implementovanou metodu a pokud chybí anotace '@Override'.

Ignorovat

Chybí anotace '@Deprecated'

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu zamítnutého typu bez dodatečné anotace '@Deprecated'.

Ignorovat

Anotace se používá jako superrozhraní

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu typu implementujícího anotaci. Ačkoli je to možné, je to považováno za chybný postup.

Varování

Neošetřené tokeny varování v '@SuppressWarnings'

Pokud povolíte tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu neošetřeného tokenu varování v anotaci '@SuppressWarnings'.

Varování

Povolit anotace '@SuppressWarnings'

Pokud povolíte tuto volbu, kompilátor bude zpracovávat anotace '@SuppressWarnings'.

Zapnout

Je-li povolena volba Považovat chyby za závažné chyby kompilace, bude kód obsahující libovolnou, tj. závažnou nebo konfigurovatelnou, chybu vyhodnocen jako nespustitelný. Je-li tato volba zakázána, bude váš kód vyhodnocen jako proveditelný, pokud nebude obsahovat žádné závažné chyby (např. chyby syntaxe)

Související koncepce

Pohled Problémy
Rychlá oprava
Tvůrce Java