Fehler/Warnungen

Geben Sie Ihre Benutzervorgaben für die Fehler-/Warnungseinstellungen auf der Benutzervorgabenseite Benutzervorgabenseite für Fehler/Warnungen öffnen Java > Compiler > Fehler/Warnungen an.

Codedarstellung

Option

Beschreibung

Standardwert

Nicht statischer Zugriff auf statisches Member

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn in einem Ausdrucksempfänger auf ein statisches Feld oder eine Methode zugegriffen wird. Ein Verweis auf ein statisches Member sollte durch einen Typnamen qualifiziert werden.

Warnung

Indirekter Zugriff auf statisches Member

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn indirekt auf ein statisches Feld oder eine Methode zugegriffen wird. Ein statisches Feld einer Schnittstelle ist mit einem deklarierenden Typnamen zu qualifizieren.

Ignorieren

Unqualifizierter Zugriff auf Exemplarfeld

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn er einen nicht qualifizierten Zugriff auf ein Feld feststellt (z. B. 'this' fehlt).

Ignorieren

Nicht dokumentierter leerer Block

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn die Anweisung eines leeren Blocks ohne erklärenden Kommentar gefunden wird.

Ignorieren

Zugriff auf ein nicht zugriffsfähiges Member eines einschließenden Typs

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er den Zugriff auf ein nicht zugriffsfähiges Member eines einschließenden Typs emuliert. Solche Zugriffe können Auswirkungen auf die Leistung beinhalten.

Ignorieren

Methode mit einem Konstruktornamen

Das Benennen einer Methode mit einem Konstruktornamen wird allgemein als schlechter Programmierstil betrachtet. Wird diese Option aktiviert, signalisiert der Compiler ein solches Szenario entweder als Fehler oder als Warnung.

Warnung

Parameterzuordnung

Das Zuordnen eines Werts zu einem Parameter wird allgemein als schlechter Programmierstil angesehen. Wird diese Option aktiviert, signalisiert der Compiler ein solches Szenario entweder als Fehler oder als Warnung.

Ignorieren

Nicht ausgelagerte Zeichenfolgen

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht ausgelagertes Zeichenfolgeliteral aus (d. h. nicht mit dem Tag //$NON-NLS-<n>$ versehen) oder für nicht ausgelagerte Zeichenfolgetags, die keiner Zeichenfolge angehören.

Ignorieren

Potenzielle Programmierungsprobleme

Serialisierbare Klasse ohne serialVersionUID

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn ein 'java.io.Serializable' implementierender Typ kein 'serialVersionUID'-Feld enthält.

Warnung

Zuordnung ist wirkungslos (z. B. 'x = x')

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine Zuordnung wirkungslos ist (z. B. 'x = x').

Warnung

Mögliche zufällige Boolesche Zuordnung (z. B. 'if (a = b)')

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine mögliche zufällige Boolesche Zuordnung gefunden wird (z. B. 'if (a = b)').

Ignorieren

Der 'finally'-Block wird nicht normal beendet.

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine 'finally'-Anweisung nicht normal beendet wird (z. B. eine return-Anweisung enthält).

Warnung

Leere Anweisung

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine leere Anweisung gefunden wird (z. B. ein nicht erforderliches Semikolon).

Ignorieren

Verwendung eines Zeichenbereichs in Verkettung von Zeichenfolgen

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn in Verkettungen von Zeichenfolgen ein Ausdruck 'char[]' verwendet wird.

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

Warnung

Verdeckte CATCH-Blöcke

Bei einer lokalen TRY-Anweisung können CATCH-Blöcke andere verdecken, z. B.

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

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für verdeckte CATCH-Blöcke entsprechend der überprüften Ausnahmebedingungen aus.

Warnung

Ungenaue Typübereinstimmung für Vararg-Argumente

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine ungenaue Typübereinstimmung für Vararg-Argumente gefunden wird.

Warnung

Umsetzungskonventionen (boxing und unboxing)

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn Umsetzungskonventionen (boxing und unboxing) gefunden werden. 'Autoboxing' kann die Leistung nachteilig beeinflussen.

Ignorieren

Bei 'switch' nicht abgedeckte Aufzählungstypkonstante

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine 'Switch'-Anweisung gefunden wird, die nicht eine case-Anweisung für jede Aufzählungskonstante der betreffenden Aufzählung enthält.

Ignorieren

Fall (case) in Anweisung 'switch' ausgelassen

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er 'switch case' ohne eine Anweisung 'break' feststellt. Leere 'switch case'-Instanzen sind zulässig.

Ignorieren

Nullverweis

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn festgestellt wird, dass eine lokale Variable, die den Wert Null haben kann dereferenziert wird. Dabei ist zu beachten, dass die Analyse eher konservativ ist, d. h. sie berücksichtigt nur Fälle, die einen begründeten Verdacht zulassen.

Ignorieren

Namensspiegelung und Konflikte

Eine Felddeklaration verdeckt ein anderes Feld oder eine Variable.

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine Felddeklaration ein anderes übernommenes Feld verdeckt.

Ignorieren

Eine lokale Variablendeklaration verdeckt ein anderes Feld oder eine andere Variable.

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine lokale Variablendeklaration ein anderes Feld oder eine Variable verdeckt.

Ignorieren

Parameter für Konstruktor oder Setter-Methode einschließen

Ist diese Option aktiviert, gibt der Compiler zusätzlich einen Fehler oder eine Warnung aus, wenn ein Konstruktor oder eine Setter-Methode ein anderes Feld oder eine Variable verdecken.

Inaktiviert

Ein Typparameter verdeckt einen anderen Typ.

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn z. B. ein Typparameter einer untergeordneten Klasse einen äußeren Typ verdeckt.

Warnung

Methoden überschrieben, jedoch kein Paket sichtbar

Eine Standardmethode eines Pakets ist in einem anderen Paket nicht sichtbar und kann deshalb nicht überschrieben werden. Wird diese Option aktiviert, signalisiert der Compiler ein solches Szenario entweder als Fehler oder als Warnung.

Warnung

Konflikte zwischen Schnittstellenmethode und geschützter Methode 'Object'

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine Schnittstelle eine Methode definiert, die mit der Methode eines nicht übernommenen Objekts nicht kompatibel ist. Solange dieser Konflikt nicht aufgelöst ist, kann eine solche Schnittstelle nicht implementiert werden, z. B.

interface I {
   int clone();
}

Warnung

Veraltete und eingeschränkte API

Veraltete API

Ist diese Option aktiviert, signalisiert der Compiler die Verwendung von herabgestufter API entweder als Fehler oder als Warnung.

Warnung

Verwendung von herabgestufter API in veraltetem Code melden

Ist diese Option aktiviert, signalisiert der Compiler die Verwendung einer herabgestuften API innerhalb von veraltetem Code. Die Wertigkeit des Fehlers wird mit der Option 'Herabgestufte API' gesteuert.

Inaktiviert

Überschreibende oder implementierende veraltete Methode melden

Ist diese Option aktiviert, meldet der Compiler das Überschreiben oder Implementieren einer veralteten Methode. Die Wertigkeit des Fehlers wird mit der Option 'Herabgestufte API' gesteuert.

Inaktiviert

Nicht zulässiger Verweis (Zugriffsregeln)

Ist diese Option aktiviert, meldet der Compiler einen nicht zulässigen Verweis, der in den Zugriffsregeln angegeben ist.

Fehler

Nicht empfohlener Verweis (Zugriffsregeln)

Ist diese Option aktiviert, meldet der Compiler einen nicht empfohlenen Verweis, der in den Zugriffsregeln angegeben ist.

Warnung

Nicht erforderlicher Code

Die lokale Variable wird nie gelesen.

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine lokale Variable deklariert ist, jedoch nie innerhalb ihres Geltungsbereichs verwendet wird.

Warnung

Der Parameter wird nie gelesen.

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn ein Parameter deklariert ist, jedoch nie innerhalb seines Geltungsbereichs verwendet wird.

Ignorieren

Überschreibende und implementierende Methoden prüfen

Ist diese Option aktiviert, gibt der Compiler zusätzlich einen Fehler oder eine Warnung aus, wenn ein Parameter deklariert ist, jedoch in überschreibenden oder implementierenden Methoden nie innerhalb seines Geltungsbereichs verwendet wird.

Inaktiviert

Nicht verwendeter Import

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht verwendete Importverweise aus.

Warnung

Nicht verwendete lokale oder private Member

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn ein lokales oder privates Member deklariert ist, in derselben Einheit jedoch nie verwendet wird.

Warnung

Nicht erforderliche 'else'-Anweisung

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche 'else'-Anweisung gefunden wird (z. B. if (Bedingung) return; else doSomething();).

Ignorieren

Nicht erforderliche Umsetzung von Operation 'instanceof'

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche Umsetzung der Operation 'instanceof' gefunden wird (z. B. if (Object instanceof Object) return;).

Ignorieren

Nicht erforderliche Deklaration einer ausgelösten geprüften Ausnahmebedingung:

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche Deklaration einer ausgelösten Ausnahmebedingung gefunden wird.

Ignorieren

Überschreibende und implementierende Methoden prüfen

Ist diese Option aktiviert, gibt der Compiler zusätzlich einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche Deklaration einer ausgelösten Ausnahmebedingung in einer überschreibenden oder implementierenden Methode gefunden wird.

Inaktiviert

Nicht verwendete Bezeichnung für Unterbrechung/Fortsetzung

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht verwendete Bezeichnung 'break' (Unterbrechung) oder 'continue' (Fortsetzung) festgestellt wird.

Warnung

Generische Typen

Nicht überprüfte generische Typoperation

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht überprüfte generische Typoperation gefunden wird.

Warnung

Verwendung eines unformatierten Typs

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn er eine Verwendung eines unformatierten Typs (z. B. 'List' anstatt 'List<String>') feststellt.

Ignorieren

Generischer, mit finaler Typenbindung deklarierter Typparameter

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn ein generischer, mit finaler Typenbindung deklarierter Typparameter gefunden wird.

Warnung

Anmerkungen

Anmerkung des Typs '@Override' fehlt

Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn er eine Methode feststellt, die eine andere implementierte Methode überschreibt, und die Anmerkung des Typs '@Override' fehlt.

Ignorieren

Anmerkung des Typs '@Deprecated' fehlt

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er einen veralteten Typ ohne die zusätzliche Anmerkung des Typs '@Deprecated' feststellt.

Ignorieren

Anmerkung wird als Superschnittstelle verwendet

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er einen Typ feststellt, der eine Anmerkung implementiert. Obwohl möglich, wird dies als schlechte Praktik betrachtet.

Warnung

Nicht verarbeitete Warnungstoken in '@SuppressWarnings'

Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn ein nicht verarbeiteter Warnungstoken in einer Anmerkung des Typs '@SuppressWarnings' gefunden wird.

Warnung

Anmerkungen des Typs '@SuppressWarnings' aktivieren

Ist diese Option aktiviert, verarbeitet der Compiler Anmerkungen des Typs '@SuppressWarnings'.

Aktiviert

Verwandte Konzepte

Sicht 'Fehler'
Schnellkorrektur
Java-Erstellungsprogramm