Anhang A: Die Fehlermeldungen des Compilers 1.1.

Es folgt eine alphabetisch sortierte Aufstellung aller Fehlermeldungen des Java 1.1 Compilers. Es handelt sich hierbei nicht um eine Übersetzung, sondern vielmehr um den Versuch, die Ursachen, der oft kryptischen Fehlermeldungen aufzuzeigen.


Allgemeine Hinweise


[ ? ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ I ], [ L ], [ M ], [ N ], [ O ], [ P ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ © ]

[] can only be applied to arrays. It can't be applied to {0}.
Noch mal zur Erinnerung: Strings und ints sind keine Felder!

'{0}' expected.
Klassen, Interfaces, Methoden, Variablen und Instanzen müssen einen Namen haben. Wurde ein Schlüsselwort als Bezeichner verwendet?

{0} in throws clause must be a subclass of class java.lang.Throwable.
Eine Exception muß vom Typ Error oder Exception bzw. einer Subklasse davon oder von Throwable sein

{0} is an abstract class. It can't be instantiated.
Unvollständige Klassen können nur als Superklasse verwendet werden.

{0} is an interface. It can't be instantiated.
Interfaces müssen implementiert und nicht instantiiert werden.

{0} is defined in {1}. Because it is used outside of its source file, it should be defined in a file called "{2}".
Klasse und Datei müssen den gleichen Namen haben.

{0} must be an interface.
Die Datei muß als Interface und nicht als Klasse bezeichnet werden.

{0} must be declared abstract and not final. It does not define {1} from {2}.
Die Klasse ist noch nicht fertig implementiert.

{0} must be declared abstract. It does not define {1} from {2}.
Unvollständige Klassen müssen als solche gekennzeichnet werden.

{0} must override {1} with a public method in order to implement {2}.
Diese Methode des Interfaces muß (öffentlich) implementiert sein, damit die Klasse vollständig ist.

'{0}' not supported.
Die aktuelle Java-Version unterstützt dieses Schlüsselwort (noch) nicht.

Abstract and native methods can't have a body: {0}
Die Implementation einer abstrakten Klasse muß in einer Subklasse erfolgen.

Access across scopes to the private member {0} in {1} is not implemented.
Dieser Zugriff ist nicht erlaubt.

Ambiguous class: {0} and {1}
Diese Klassen sind mehrdeutig, es kann nicht eindeutig die Richtige bestimmt werden.

Ambiguous name: {0} is both a class and a package.
Geben Sie entweder der Klasse oder dem Package einen anderen Namen, um Mehrdeutigkeit zu vermeiden.

An error has occurred in the compiler, please file a bug report (java-bugs@java.sun.com).
Ein böser Compilerfehler! Beschweren Sie sich beim Hersteller.

An exception has occurred in the compiler, please file a bug report (java-bugs@java.sun.com).
Oh, oh ... Sowas sollte nicht passieren. Was für ein böser Compilerfehler!

An interface can't implement anything, it can only extend other interfaces.
selbsterklärend

Argument can't have type void: {0}
nur Methoden können void sein

Arithmetic exception.
z.B. Division durch 0.

Array constants can only be used in initializers.
selbsterklärend

Array dimension missing.
selbsterklärend

Array index required.
selbsterklärend

Attempt to assign a blank final {0} variable in a loop. The initialization must occur exactly once.
Die Konstante muß außerhalb der Schleife initialisiert werden.

Attempt to assign to a variable {0} in a different method. From enclosing blocks, only final local variables are available.
selbsterklärend

Attempt to reference field {0} in a {1}.
selbsterklärend

Attempt to reference method {0} in {1} as an instance variable.
Klammern hinter Methodenname wurden vergessen. (Dies ist nicht C!)

Attempt to use a non-final variable {0} from a different method. From enclosing blocks, only final local variables are available.
selbsterklärend

Blank final variable '{0}' may not have been initialized. It must be assigned a value in an initializer, or in every constructor.
Variablen dürfen erst benutzt werden, wenn ihnen ein Wert zugewiesen wurde.

'break' must be in loop or switch.
Klammern richtig?

Can't access {0}. Only public classes and interfaces in other packages can be accessed.
gewünschte Klasse ist nur innerhalb ihres Packets erreichbar, public deklarieren!

Can't access protected field {0} in {1}. {2} is not a subclass of the current class.
selbsterklärend

Can't access protected inner type {0} in {1}. {2} is not a subclass of the current class.
selbsterklärend

Can't access protected method {0} in {1}. {2} is not a subclass of the current class.
selbsterklärend

Can't assign a second value to a blank final variable: {0}
Final-Variabeln sind Konstanten.

Can't assign a value to a final variable: {0}
selbsterklärend

Can't catch {0} it must be a subclass of class java.lang.Throwable.
Eine Exception muß vom Typ Error oder Exception bzw. einer Subklasse davon oder von Throwable sein

Can't directly invoke abstract method {0} in {1}.
Nicht implementiert Methoden können nicht aufgerufen werden.

Can't invoke a method on a {0}.
Primäre Datentypen wie int, chars, ... sind keine Objekte.

Can't make a static reference to inner class {0}.
Ist der Einfachheit halber nun mal so.

Can't make a static reference to nonstatic variable {0} in {1}.
Nichtstatische Variablen gibt es einmal pro Instanz, statische nur einmal pro Klasse. Daher darf eine statische Methode nur auf statische Variablen zugreifen, sonst wüßte sie ja nicht, auf welche Instanz.

Can't make forward reference to {0} in {1}.
selbsterklärend

Can't make static reference to method {0} in {1}.
Nicht statische Methoden können nur in nicht statischen Methoden augerufen werden.

Can't read: {0}
IO-Fehler oder Datei nicht gefunden. Fileattribute ok?

Can't reference {0} before the superclass constructor has been called.
selbsterklärend

Can't specify array dimension in a declaration.
Felder müssen mit new angelegt werden ( statt "int x[3];" schreibt man "int x=new int[3];" )

Can't specify array dimension in a type expression.
Felder müssen mit new angelegt werden ( statt "int x[3];" schreibt man "int x=new int[3];" )

Can't subclass final classes: {0}
Final-Klassen sind endgültig. Es sind keine weiteren Subklassen erlaubt.

Can't subclass interfaces: {0}
Interfaces müssen implementiert werden.

Can't throw {0} it must be a subclass of class java.lang.Throwable.
Eine Exception muß vom Typ Error oder Exception bzw. einer Subklasse davon oder von Throwable sein

Can't write: {0}
IO-Fehler. Permissions? Quota?

Case label {0} too large for 'switch' on {1}
Wertebereich des Switch-Typs wird überschritten.

'case' outside switch statement.
selbsterklärend

catch not reached.
Das erste catch-Statement fängt bereits alle Exceptions ab.

'catch' without 'try'.
try { muß immer einen Block umrahmen, aus dem } catch (Exception e) { dann die Exceptions abfängt }

Class {0} already defined in {1}.
Klassennamen müssen eindeutig sein.

Class {0} can't be declared both abstract and final.
Abstrakte Klassen sind unvollständig und final-Klassen sind nicht weiter veränderbar. Was sollte das also für einen Sinn ergeben?

Class {0} not found in {1}.
Schreibfehler?

Class name {0} clashes with imported class {1}.
Klassennamen müssen eindeutig sein.

Class or interface declaration expected.
Globale Daten sind nicht erlaubt.

'class' or 'interface' keyword expected.
Globale Daten sind nicht erlaubt.

Comment not terminated at end of input.
*/ fehlt

Constant expression required.
case-Labels brauchen konstante Ausdrücke (z.B. case 5:)

Constructor {0} requires a method body.
Nur abstrakte Methoden dürfen unvollständig sein.

Constructor invocation must be the first thing in a method.
Wenn in einer Methode andere Konstruktoren aufgerufen werden, so muß dies mit dem ersten Statement erfolgen.

Constructor is ambiguous: {0}, {1}
Konstruktor ist mehrdeutig. Zwischen mehreren überladenen Konstruktoren kann nicht eindeutig der richtige bestimmt werden.

Constructors can't be native, abstract, static, synchronized, or final: {0}
selbsterklärend

'continue' must be in loop.
Klammern richtig?

Cyclic class inheritance or scoping.
Die Vererbung muß linear erfolgen. ( also kein a->b->a )

Cyclic class inheritance.
Die Vererbung muß linear erfolgen. ( also kein a->b->a )

Cyclic class inheritance: A subclass cannot enclose a superclass.
Die Vererbung muß linear erfolgen. ( also kein a->b->a )

Cyclic interface inheritance.
Auch Interfacevererbung muß linear erfolgen.

'default' outside switch statement.
Klammern richtig?

Duplicate case label: {0}
Dieses Label gibt es schon einmal in diesem Switch-Block.

Duplicate 'default' label.
Es darf nur ein default-Label pro Switch-Block geben.

Duplicate inner class declaration: {0} is already defined in this scope.
selbsterklärend

Duplicate method declaration: {0}
Sowohl Name als auch Parameter sind gleich. Dies ist unzulässig.

Duplicate variable declaration: {0} was {1}
Diese Variable wurde im aktuellen Block schon einmal deklariert.

'else' without 'if'.
Klammern richtig?

Exception {0} can't be thrown in initializer.
Statische Blöcke werden zu Programmbeginn für jede Klasse einzeln ausgeführt. Hier ist keine Ausnahmebehandlung erlaubt.

Exception {0} is never thrown in the body of the corresponding try statement.
Diese Ausnahme wird nie auftreten (nur Warnung).

Exception {0} must be caught, or it must be declared in the throws clause of this method.
Ein Aufruf im aktuellen Block löst eine Ausnahme aus, die abgefangen werden muß.

File {0} does not contain {1} as expected, but {2}. Please remove the file.
Klasse und Datei müssen den gleichen Namen haben.

Final methods can't be overriden. Method {0} is final in {1}.
Endgültig implementierte Methoden können in Subklassen nicht überschrieben werden.

'finally' without 'try'.
Finally-Blöcke sind nur im Zusammenhang mit Exceptionhandling sinnvoll.

I/O error in {0}.
Sieht nicht gut aus. Quota?

Identifier expected.
Klassen, Interfaces, Methoden, Variablen und Instanzen müssen einen Namen haben. Wurde ein Schlüsselwort als Bezeichner verwendet?

Impossible for {0} to be instance of {1}.
selbsterklärend

Incompatible type for {0}. Can't convert {1} to {2}.
Wenn Typkonvertierung überhaupt möglich ist, muß sie über Methoden erfolgen.

Incompatible type for {0}. Explicit cast needed to convert {1} to {2}.
Es wird nicht automatisch umgewandelt. Wie in C möglich muß man casten ( z.B. byte=(byte)long ).

Inconsistent member declaration. At most one of public, private, or protected may be specified.
selbsterklärend

Inner classes can't be volatile, transient, native, or synchronized: {0}
noch nicht klar definiert

Inner type {0} in {1} not accessible from {2}.
Dieser Zugriff ist nicht erlaubt.

Instance methods can't be overridden by a static method. Method {0} is an instance method in {1}.
selbsterklärend

Instance variables can't be void: {0}
Nur Methoden ohne Rückgabewert können void sein.

Interface {0} of {1} not found.
Schreibfehler?

Interface {0} repeated.
Interface wurde mehrfach angegeben.

Interface fields can't be private or protected: {0}
Da Interfaces nicht instantiiert werden können, sind einige Modifier nicht erlaubt.

Interface methods can't be native, static, synchronized, final, private, or protected : {0}
Da Interfaces nicht instantiiert werden können, sind einige Modifier nicht erlaubt.

Interfaces can't be final: {0}
Sinn und Zweck eines Interfaces ist nun mal die Vererbung...

Interfaces can't have constructors.
Da Interfaces nicht instantiiert werden können, ist dies auch nicht sinnvoll.

Interfaces can't have static initializers.
selbsterklärend

Internal error.
Ein böser Compilerfehler! Beschweren Sie sich beim Hersteller.

Invalid argument to {0}.
selbsterklärend

Invalid argument type {0} for {1}.
selbsterklärend

Invalid arguments to {0}.
selbsterklärend

Invalid array dimension.
selbsterklärend

Invalid cast from {0} to {1}.
Wenn Typen nicht miteinander verwandt sind, ist Casting nicht erlaubt.

Invalid character constant.
Ein Zeichen kann nur in der Form 'x' oder '\n' definiert werden.

Invalid character in input.
Ein Steuerzeichen befindet sich im Quelltext oder die Datei ist zerstört.

Invalid character in number.
Wurde vor einer Hex-Zahl das 0x vergessen?

Invalid character in octal number.
In einer Oktalzahl sind nur die Ziffern von 0-7 zulässig.

Invalid class file format: {0}, {1}
Die .class-Datei ist korrupt.

Invalid declaration.
selbsterklärend

Invalid escape character.
Ungültige Sonderzeichendeklarierung ( C oder Unicode mit Hilfe von \ ).

Invalid exception {0} in throws clause. The exception must be a subclass of an exception thrown by {1} from {2}.
Nur miteinander verwandte Ausnahmen sind hier erlaubt.

Invalid expression statement.
Unvollständiger Ausdruck.

Invalid floating point format.
Fehlt etwas in der Zahl oder hat sich ein Zeichen zu viel eingeschlichen?

Invalid initializer for type {0}.
Instanzen müssen explizit instantiiert werden.

Invalid label.
Labelnamen müssen den Namensgebungsregeln eines Bezeichners genügen.

Invalid left hand side of assignment.
Auf der linken Seite einer Zuweisung muß eine Variable stehen.

Invalid method declaration return type required.
Jede Methode muß einen Rückgabetyp besitzen, mindestens void.

Invalid method declaration, method name required.
selbsterklärend

Invalid name {0} for {1}.
selbsterklärend

Invalid qualified constructor name.
selbsterklärend

Invalid term.
Der Ausdruck, der einer Variable zugewiesen werden soll, ergibt keinen Sinn.

Invalid type expression.
selbsterklärend

'length' applied to {0}, which is not an array.
Die length-Variable ist nur bei einem Array definiert.

Local class '{0}' is already defined in this method.
selbsterklärend

Method {0} can't be static in {1}. Only members of interfaces and top-level classes can be static.
selbsterklärend

Method {0} can't be transient. Only variables can be transient.
selbsterklärend

Method {0} can't be volatile. Only variables can be volatile.
noch nicht klar definiert

Method {0} in {1} is not accessible from {2}.
selbsterklärend

Method '{0}' is inherited in {1}, and hides a method of the same name in {2}.
selbsterklärend

Method {0} not found in {1}.
Schreibfehler? Methode private?

Method {0} requires a method body. Otherwise declare it as abstract.
Unvollständige Methoden müssen als solche gekennzeichnet sein.

Method redefined with different return type: {0} was {1}
Geerbte Methoden können allenfalls in ihrer Implementation überschrieben werden.

Methods can't be overridden to be more private. Method {0} is not private in {1}.
Der Zugriff kann in abgeleiteten Klassen höchstens erweitert, nicht aber weiter eingeschränkt werden.

Methods can't be overridden to be more private. Method {0} is protected in {1}.
Der Zugriff kann in abgeleiteten Klassen höchstens erweitert, nicht aber weiter eingeschränkt werden.

Methods can't be overridden to be more private. Method {0} is public in {1}.
Der Zugriff kann in abgeleiteten Klassen höchstens erweitert, nicht aber weiter eingeschränkt werden.

Methods can't be redefined with a different return type: {0} was {1}
Methoden müssen sich durch mehr als den Rückgabewert unterscheiden, z.B. den Namen oder die Parameter.

Missing term.
fehlender Operand

Multiple inheritance is not supported.
Entweder ganz auf Mehrfachvererbung verzichten oder Interfaces verwenden.

No constructor matching {0} found in {1}.
Bei Definition mindestens eines Konstruktors steht default nicht mehr zur Verfügung.

No enclosing instance of {0} is in scope an explicit one must be provided when creating {1}, as in "outer. new Inner()" or "outer. super()".
Wenn eine äußere innerhalb einer inneren Klasse angeprochen werden soll, muß davon eine neue Instanz erzeugt werden.

No enclosing instance of {0} is in scope cannot create a default constructor for {1}.
Wenn eine äußere innerhalb einer inneren Klasse angeprochen werden soll, muß davon eine neue Instanz erzeugt werden.

No enclosing instance of {0} is in scope an explicit one must be provided when accessing {1}, as in "outer.member".
Wenn eine äußere innerhalb einer inneren Klasse angeprochen werden soll, muß davon eine neue Instanz erzeugt werden.

No label definition found for {0}.
Schreibfehler?

No method matching {0} found in {1}.
Schreibfehler? Groß- und Kleinschreibung? Falsche Parameteranzahl?

No variable {0} defined in {1}.
Schreibfehler? Groß- und Kleinschreibung?

Note: {0} files use deprecated APIs. Please consult the documentation for a better alternative in each case.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: {0} files use deprecated APIs. Recompile with "-deprecation" for details.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: {0} has been deprecated.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: {0} uses a deprecated API. Please consult the documentation for a better alternative.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: {0} uses a deprecated API. Recompile with "-deprecation" for details.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: Method {0} in {1} does not override the corresponding method in {2}, which is private to a different package.
selbsterklärend

Note: The cloning of an array does not throw any checked exceptions, and therefore does not require any catch clauses.
selbsterklärend

Note: The constructor {0} has been deprecated.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: The method {0} in {1} has been deprecated.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Note: The variable {0} in {1} has been deprecated.
Diese Methode oder Klasse ist veraltet, siehe API für eine bessere Variante. Diese Variante ist vielleicht in neuen Versionen nicht mehr vorhanden und sollte nicht mehr benutzt werden.

Numeric overflow.
Wertebereich eines Typs wurde überschritten.

Numeric underflow.
Wertebereich eines Typs wurde unterschritten.

Only constructors can invoke constructors.
selbsterklärend

Only named classes can have 'extends' or 'implements' clauses.
selbsterklärend

Only one package declaration allowed.
Es ist nur eine Package-Deklaration pro Datei möglich.

Package {0} not found in {1}.
Schreibfehler? Präfix vergessen? Alte Java-Version?

Possible loss of precision. Use an explicit cast to convert {0} to {1}.
selbsterklärend

Public {0} must be defined in a file called "{1}".
Klasse und Datei müssen den gleichen Namen haben.

Recursive constructor invocation: {0}.
Konstruktor ruft sich selbst auf.

Reference to {0} is ambiguous. It is defined in {1} and {2}.
Mehrdeutige Referenz.

Reference to method {0} in {1} as if it were a variable.
Klammern hinter dem Namen weglassen. (Dies ist nicht C!)

Reference to variable {0} in {1} as if it were a method.
Klammern hinter dem Namen sind zuviel.

Repeated modifier.
Wurde ein Wort zweimal geschrieben?

'return' inside static initializer.
Statische Blöcke werden nur einmal ausgeführt. Ein return ist hier nicht erlaubt.

Return required at end of {0}.
Eine Funktion mit Rückgabewert muß einen solchen auch zurückliefern.

'return' with value from {0}.
Eine void-Funktion kann nichts zurückliefern.

'return' with value from constructor: {0}
Konstrukturen sind besondere Methoden, die keinen Rückgabewert haben, auch nicht void.

'return' without value from {0}.
Eine Funktion mit Rückgabewert muß einen solchen auch zurückliefern.

Statement expected.
Klammern geschlossen?

Statement not reached.
Statements nach 'return', 'break', 'continue' oder 'throw' sind redundant.

Static methods can't be abstract: {0}
selbsterklärend

Static methods can't be overridden. Method {0} is static in {1}.
Da es statische Methoden nur einmal pro Klasse gibt, können sie nicht überschrieben werden.

String not terminated at end of input.
Abschließendes " fehlt.

String not terminated at end of line.
Abschließendes " fehlt. Wenn String mehrere Zeilen lang sein soll, muß Zeile mit \ enden.

Superclass {0} of {1} not found.
Schreibfehler?

Superclass of {0} can't be an interface: {1}
Interfaces werden implementiert und nicht erweitert.

Support for inner classes has been disabled.
Hmm, vielleicht nur zum Debuggen.

The class name '{0}' is already defined in this scope. An inner class may not have the same simple name as any of its enclosing classes.
selbsterklärend

The source file encoding may be different with this platform encoding.
Weist auf Probleme mit verschiedenen Zeichensätzen hin.

The type {0} can't be declared static. It is already top-level, since it is a member of a package.
selbsterklärend

The type {0} can't be made protected. Package members can either be public or local to the current package.
selbsterklärend

The type {0} can't be private. Package members are always accessible within the current package.
selbsterklärend

The type {0} can't be static. Static members can only occur in interfaces and top-level classes.
selbsterklärend

This final variable must be initialized: {0}
Konstanten muß ein Wert zugewiesen werden.

Too many errors. (The limit on reported errors is {0}.)
Beheben Sie erst die angezeigten Fehler, dann werden weitere gezeigt.

Transient variables can't be members of interfaces: {0}
Transiente Variablen werden benötigt, um persistente Daten für Datenbanken zu gewährleisten.

'try' without 'catch' or 'finally'.
try { muß immer einen Block umrahmen, aus dem } catch (Exception e) { dann die Exceptions abfängt } finally { wird immer ausgeführt }

Type '{0}' is inherited in {1}, and hides a type of the same name in an enclosing scope.
selbsterklärend

Type expected.
An dieser Stelle muß ein Typ stehen.

Unbalanced parentheses.
Schließende Klammer fehlt.

Undefined variable or class name: {0}
Schreibfehler?

Undefined variable or package name: {0}
Schreibfehler?

Undefined variable, class, or package name: {0}
Schreibfehler?

Undefined variable: {0}
Schreibfehler?

Variable {0} can't be static in {1}. Only members of interfaces and top-level classes can be static.
selbsterklärend

Variable {0} in {1} not accessible from {2}.
Der Zugriff auf diese Variable ist beschränkt.

Variable '{0}' is already defined in this method.
Variablen dürfen zur Gewährleistung der Eindeutigkeit in der Parameterliste einer Methode nur einmal auftreten.

Variable '{0}' is inherited in {1}, and hides a local variable of the same name.
selbsterklärend

Variable '{0}' is inherited in {1}, and hides a variable of the same name in {2}.
selbsterklärend

Variable '{0}' is used twice in the argument list of this method.
selbsterklärend

Variable {0} may not have been initialized.
Variablen dürfen erst benutzt werden, wenn ihnen ein Wert zugewiesen wurde.

Variables can't be synchronized, abstract or native: {0}
selbsterklärend

Volatile variables can't be final or members of interfaces: {0}
noch nicht klar definiert

Wrong number of arguments in {0}.
selbsterklärend


«« [ Inhalt ] »»

Copyright für Texte, Programme und Design 1997 by Dirk Schönfuß
WWW: http://rcswww.urz.tu-dresden.de/~schoenfu
e-mail: schoenfu@rcs.urz.tu-dresden.de