Ich möchte eine benutzerdefinierte Ausnahmebedingungsnachricht festlegen, bin mir jedoch nicht sicher, wie das geht. Muss ich eine benutzerdefinierte Ausnahmeklasse erstellen oder gibt es dafür einen einfacheren Weg?
Sorry im Voraus, wenn das eine einfache Frage ist, aber ich habe mich online umgesehen und habe nicht viel Glück gehabt.
Die meisten Standardausnahmeklassen stellen einen Konstruktor bereit, der eine Nachricht verwendet, zum Beispiel:
%Vor%Die obige Klasse ruft einfach den Konstruktor ihrer Eltern auf, der den Konstruktor ihrer Eltern aufruft, und schließlich gipfelt in:
%Vor%Wenn Sie eine eigene Ausnahmeklasse erstellen, ist es eine gute Idee, diese Konvention zu befolgen.
Sie können die Nachricht nur beim Erstellen der Ausnahme festlegen. Hier ist ein Beispiel, wenn Sie es nach der Erstellung einstellen möchten.
%Vor%Die Exception-Klasse (ihr Parent, eigentlich - Throwable) nimmt eine Nachricht als Argument in ihrem Konstruktor
neue Exception werfen ("Nachricht") / Exception ("Nachricht", innereException);
Die root Exception
Klasse akzeptiert eine String
benutzerdefinierte Nachricht, wie (soweit ich das beurteilen kann) alle abgeleiteten Klassen.
Also: Nein, Sie müssen keine benutzerdefinierte Klasse erstellen. Eine der vorhandenen Ausnahmen deckt wahrscheinlich Ihren Fall ab (lesen Sie deren Beschreibungen, um herauszufinden, welche). Wenn keine davon wirklich zufriedenstellend ist, können Sie eine Erweiterung von Exception
(oder RuntimeException
etc) erstellen und den benutzerdefinierten Nachrichtenkonstruktor pflegen.