Re-Throw-Ausnahme in Java
In Java ist throw
das am häufigsten verwendete Schlüsselwort, um entweder eine eingebaute
Ausnahme oder eine -benutzerdefinierte
Ausnahme auszulösen, aber manchmal müssen wir dieselbe Ausnahme durch catch
werfen
Block.
Diese Situation wird als erneutes Auslösen einer Ausnahme bezeichnet. In diesem Tutorial-Artikel lernen wir die erneut ausgelöste Ausnahme kennen und führen diese Aufgabe aus, ohne Änderungen am ursprünglichen Stack-Trace vorzunehmen.
Demonstration des erneuten Auslösens einer Ausnahme in Java
Wenn Sie mit sensiblen Programmen arbeiten, z. B. die Datenbank manipulieren, ist es wichtig, die Ausnahme zu verfolgen, bevor Sie sie an eine höhere Ebene weitergeben.
Wir müssen einige Aktivitäten am catch
-Block ausführen und die Ausnahme erneut auslösen, damit die höhere Ebene des Programms benachrichtigt wird, dass eine Ausnahme im System auftritt.
In unserem Beispiel unten werden wir eine Ausnahme erneut auslösen, wenn ein string
-Wert auf null
gesetzt wird. Der Code für diesen Zweck sieht wie folgt aus:
public class JavaException {
public static void main(String args[]) {
String Name = null;
try {
if (Name.equals("Mark"))
System.out.println("Matched"); // This will cause NullPointerException
} catch (Exception e) {
throw e;
}
}
}
Im obigen Code Fence setzen wir zuerst den Wert einer string
-Variablen Name
auf null
. Danach haben wir den Exception-Handler von Java try{ ... } catch { ... }
verwendet und darin den Wert string
mit einem anderen string
verglichen.
Dies führt nun zu einem NullPointerException
-Fehler. Nachdem Sie den obigen Beispielcode ausgeführt haben, erhalten Sie die folgende Ausgabe in Ihrer Konsole.
Exception in thread "main" java.lang.NullPointerException
at javacodes.JavaException.main(JavaException.java:8)
Wenn wir uns den Code des Beispiels ernsthaft ansehen, werden wir sehen, dass unser Code jede Ausnahme erneut auslöst, die abgefangen wird, und wir erhalten den ursprünglichen Stack-Trace, ohne Änderungen vorzunehmen.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedInVerwandter Artikel - Java Exception
- Ausnahme bei ungültiger Eingabe in Java
- Ausnahme im Hauptthread Java.Util.NoSuchElementException: Keine Zeile gefunden
- Ausnahme im Thread AWT-EventQueue-0 java.lang.NullPointerException
- Beheben Sie die Java.Net.BindException: Adresse wird bereits verwendet: Bind
- Der Java-Gateway-Prozess wurde beendet, bevor seine Portnummer gesendet wurde
- Java Throwable vs. Ausnahmeklasse