Die Programmiersprache Java wurde entwickelt, um Fehler und andere unerwartete Ereignisse mit einer Ausnahme Konzept zu behandeln. Wenn ein Fehler auftritt, wird eine Exception-Objekt erzeugt und an (oder geworfen ) bis im Aufruf-Stack , bis er eine Methode entwickelt, um (oder fangen ), die Ausnahme zu behandeln findet . Java kommt mit Dutzenden von Exception-Objekte , aber Programmierer können auch eigene . Definieren eines benutzerdefinierten Exception-Klasse
Benutzerdefinierte Ausnahmen werden in genau der gleichen Weise wie jede andere Java -Klasse definiert. Die einzige wichtige Regel ist, dass eine Ausnahme muss die Exception- Klasse in der Bibliothek java.lang verlängern . Dies wird in der gleichen Weise , dass jede andere Klasse ein anderer erstreckt durchgeführt . Ein Beispiel für eine benutzerdefinierte Ausnahme wäre:
Klasse MyException extends Exception { }
Sie Ihre eigenen Methoden und Konstruktoren Ihre Exception-Klasse hinzufügen können , um individuell gestalten es für Ihre Zwecke , sondern nur durch die Verlängerung der Basisklasse Sie die Standard- Ausnahme Konstruktoren und Methoden zu erhalten, einschließlich der Möglichkeit, Fehlermeldungen zu definieren.
Werfen eines benutzerdefinierten Exception
< p> um Ihre benutzerdefinierten Ausnahme zu verwenden, müssen Sie es irgendwo in dem Programm zu werfen , das gleiche wie jeder andere Ausnahme . Zum Beispiel kann die folgende triviale Beispiel zeigt, wie eine Ausnahme , ein Verfahren aus der Division durch Null zu vermeiden:
public double divide ( doppelte Dividende , Doppel- Teiler ) wirft MyException {
if ( Divisor == 0) throw new MyException ( "Division durch Null versucht ! ");
Rückkehr Dividende /Teiler ;
}
das Problem überprüft , um zu sehen , wenn der Divisor gleich Null. Wenn ja, dann wird ein neues Objekt erstellt MyException geworfen und mit einer entsprechenden Fehlermeldung . Was auch immer Teil des Programms als " Kluft" Funktion wäre dann verantwortlich für die Entscheidung, wie man mit Ausnahme umzugehen.
Warum sollten Sie Ausnahmen ?
Fehler Kontrolle ist ein wichtiger Bestandteil eines jeden Programms . Selbst wenn der Arbeit des Programmierers ist perfekt, Eingaben des Benutzers , das lokale Dateisystem und das Internet nur selten , wenn überhaupt , perfekt, so dass Programme müssen bereit sein, mit Problemen umzugehen. Häufig ist jedoch der Teil des Codes, der das Problem findet nicht Teil des Codes am besten geeignet , um mit dem Problem umzugehen. Eine Funktion, die einen Absatz des Textes teilt sich in Worte sollten im Idealfall nicht darüber nachdenken, ob ein leerer Absatz ist ein Fehler, das Programm zu beenden , ein seltsames Ereignis, das für den Benutzer oder irrelevant gemeldet werden erfordert kümmern. Ausnahmen erlauben es , das Problem auf andere Teile des Programms , die besser auf ihn zu korrigieren eignen berichten .
Warum Benutzerdefinierte Ausnahmen ?
Java kommt mit Dutzenden von Ausnahmen Klassen vorgegeben, aber manchmal hilft es , eine Reihe von Ausnahmen, die besser passen , das Problem an der Hand haben , so dass das Programm besser auf sie reagieren . Zum Beispiel , anstatt Javas generische " InvalidArugmentException ", der Teil des Codes für die Wiederherstellung von Fehlern benötigen , um mehr Details über das Problem wissen . Dies könnte , indem die Ausnahme in custom " UnexpectedNullArgumentException " und geschehe " OutOfRangeException . "