Re-Throw-Ausnahme in Java

MD Aminul Islam 12 Oktober 2023
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.

MD Aminul Islam avatar MD Aminul Islam avatar

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.

LinkedIn

Verwandter Artikel - Java Exception