So erstellen eine benutzerdefinierte Ausnahme in Java

February 15

Ausnahmen sind ein wichtiges Instrument bei der Java-Programme mit dem unerwarteten zu bewältigen. Als Entwickler können Sie die normale Exception-Typen zur Verfügung gestellt von der Sprache in vielen Fällen, aber bei einigen Anwendungen ist es effektiver, erstellen eigene Ausnahmeklassen. Um eigene benutzerdefinierten Ausnahmen in Java zu erstellen, müssen Sie die Ausnahme-Supertyp erweitern. Wenn Sie neu in Java Vererbung sind, demonstrieren erstellen eine benutzerdefinierte Exception-Klasse auch die grundlegenden Konzepte Beteiligten. Ihre eigenen benutzerdefinierten Ausnahmeklassen werden Unterklassen eines eigenen Java Exception-Klassen.

Anweisungen

1 Erstellen Sie Ihre Ausnahme-Klassendeklaration. Verwenden die folgende Übersicht in Ihrem Java-Projekt eine neue Klasse zu erstellen:

MySpecialException-Klasse erweitert Exception {}

Konstruktormethode

öffentliche MySpecialException (String Nachricht)

{super(message);}

}

Diese grundlegende Klasse ist definiert als eine Unterklasse der wichtigsten Java Exception-Klasse unter Verwendung der Syntax "erweitert Exception." Innerhalb des Konstruktors einer erbenden Klasse der Konstruktor für die Oberklasse, wie in diesem Beispiel heißt. Im Moment die Klasse tut nicht etwas anderes als die normale Exception-Klasse, aber spezifisches Verhalten kann angegeben werden.

2 Platzieren Sie die Ausnahme in der Anwendung. Enthalten Sie in der Hauptklasse für Ihr Projekt eine neue Methode um Ihre Ausnahmeklasse wie folgt testen:

publicstaticint TryException(int someNumber) löst MySpecialException {}

if(someNumber<0) werfen neue MySpecialException ("unter Null");

sonst Rückkehr SomeNumber;

}

Wenn Sie eine Methode, die Ihre Ausnahme veranlassen können enthalten, müssen Sie die "Würfe"-Klausel, wie im Beispiel enthalten. Wie jedes andere Objekt, mit dem Schlüsselwort "new" wird die benutzerdefinierte Exception-Klasse instanziiert. In diesem trivialen Beispiel testet das Programm, ob einige übergebene Wert unter Null, eine Ausnahme auslöst, wenn es sich handelt.

3 Rufen Sie die Methode, um die Ausnahme zu testen. Fügen Sie den folgenden Testcode, in Ihrem Projekt main-Methode:

Int TestValue =-1;

versuchen Sie {}

tryException(testValue);

}

fangen Sie (MySpecialException-Mse) {}

System.err.println(MSE.GetMessage());

TestValue = 0;

}

Dieser Code erstellt eine Situation, in der die Ausnahme ausgelöst wird, indem Sie einen Wert unter Null bereitstellen. Wenn die Testmethode aufgerufen wird, wird den Test durchführen, sehen, dass die Zahl unter Null ist und die Ausnahme. Da Methodenaufruf in einem Block "Try" aufgenommen wurde, werden "Catch"-Block der nächste Codeabschnitt ausgeführt, so dass des Codes zur Bewältigung des Fehlers und den problematischen Wert zu ändern. Kompilieren Sie und führen Sie das Programm, dann ändern Sie die Variable "Testwert" auf eine Zahl größer als 0 (null) und führen Sie es erneut, um den Unterschied zu sehen.

4 Fügen Sie die Weiterverarbeitung auf Ihre Ausnahmeklasse. Bei der Definition eigener Ausnahmeklassen soll Ihnen ermöglichen, ihr Verhalten an die Bedürfnisse Ihrer eigenen Programme anzupassen. Sie können jede Funktionalität hinzufügen, müssen Sie innerhalb der MySpecialException-Klasse wie folgt:

öffentliche MySpecialException (String Message) {}

Super(Message);

System.err.printlin ("MySpecialException ausgelöst wurde!");

}

}

Dies zeigt einfach wie der Exception-Klasse hinzugefügt, aber Sie sollten hinzufügen, Verarbeitung Ihren eigenen Bedürfnissen entspricht.

5 Testen Sie das Programm gründlich. Wenn Sie versuchen, mit unerwarteten Ereignissen umzugehen, ist ein gutes Maß an Tests wesentlich. Der Vorteil der Verwendung eigener Ausnahmeklassen besteht darin, dass sie Ihnen ein höheres Maß an Kontrolle über was passiert, wenn die Ausführung des Programms zu geben. Jedoch bestätigen, dass Ihr Programm möglicherweise unerwartetes Verhalten bedeutet, dass auch ein wirksames Konzept zur Prüfung notwendig ist.

Tipps & Warnungen

  • Sie können andere Exception-Klassen, nicht nur die wichtigste Ausnahme Oberklasse erweitern. Sie können auch eigene Ausnahmeklassen erweitern.
  • Es ist unnötig, eigene Ausnahmeklassen erstellen, wenn Sie besondere Verarbeitung benötigen, die nicht die standard-Klassen bieten.