82 Stimmen

Java-Äquivalent zu .NET System.InvalidOperationException

Ich bin mit den Ausnahmepaketen von Java nicht so vertraut wie mit denen von .NET. Ich befinde mich in einer Situation, in der ich, wenn ich in C# programmieren würde, eine System.InvalidOperationException .

Bevor ich meine eigene java.lang.RuntimeException Unterklasse, muss ich wissen, ob es einen ähnlichen Ausnahmetyp gibt, den ich in Java auslösen sollte.

Das genaue Szenario ist:

Meine Klasse ist ein Wertobjekt, das eine int intValue() Methode, die ein int zurückgibt. In manchen Situationen kann der aktuelle Wert jedoch nicht als int bereitgestellt werden, daher bietet diese Klasse auch eine boolean isInteger() damit die API-Benutzer wissen, wann intValue() sicher aufgerufen werden kann.

Wenn ein Anrufer anruft intValue() cuando isInteger() es false sollte eine Ausnahme ausgelöst werden.

Und die Frage ist: Welche Art von Ausnahme?

Ich weiß, dass diese Frage nicht unbedingt eine richtig Antwort, aber da ich nicht viel Erfahrung mit der Entwicklung von Java-APIs habe, möchte ich von anderen Java-Entwicklern wissen, was sie in diesem Szenario erwarten würden.

danke

94voto

Jon Skeet Punkte 1325502

Wirf einen IllegalStateException :

Signalisiert, dass eine Methode aufgerufen wurde zu einem unzulässigen oder unpassenden Zeitpunkt aufgerufen wurde. Mit anderen Worten, die Java-Umgebung oder Java-Anwendung befindet sich nicht in einem geeigneten Zustand für die angeforderte Operation.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X