Wenn Sie einen Java-Code oder ein Java-Programm ausführen, wird es entweder kompiliert und ausgeführt oder es wird ein Fehler ausgegeben. Wenn ein Code eine auslöst, ist dies entweder das Ergebnis eines Fehlers oder einer Ausnahme.
Ein Fehler ist kritischer. Dies geschieht außerhalb des Codebereichs, jedoch innerhalb der Umgebung, in der die Anwendung ausgeführt wird. Es wird nicht erwartet, dass das Programm einen Fehler abfängt und behandelt.
Einige Beispiele für Fehler sind
Ausnahmen treten im Rahmen des Codes auf. Es wird auch als Ausführungsfehler bezeichnet, was bedeutet, dass es während der Ausführung des Codes auftritt. Vom Programmierer wird erwartet, dass er Ausnahmen in einem Programm abfängt und behandelt.
Dieser Beitrag konzentriert sich speziell auf Ausnahmen und Laufzeitfehler. Sie erfahren alles über Ausnahmen und wie Sie Ausnahmefehler in Ihrem Java-Programm behandeln.
Es gibt drei Arten von Ausführungsfehlern in Java. Hier ist eine Aufschlüsselung jedes einzelnen davon
Diese Art von Fehler wird als Kompilierungsfehler oder überprüfter Fehler bezeichnet. Ein Java-Programm löst diesen Code während der Kompilierungsphase aus.
Mit anderen Worten, dieser Fehler tritt auf, wenn der Javac-Code in Bytecode kompiliert wird. Der Fehler bei der Kompilierung wird normalerweise durch einen Fehler in der Codesyntax verursacht.
Zum Beispiel, wenn der Programmierer am Ende einer Anweisung kein Semikolon einfügt oder eine Variable vor dem Drucken nicht initialisiert.
public class JavaExceptionCodes { public static void main (String []args){ int y = 10 //no semicolon System.out.println(y); } }
Der Laufzeitfehler wird auch als Ausnahmefehler oder ungeprüfter Fehler bezeichnet. Es tritt auf, während das Programm ausgeführt wird. Der Code wird kompiliert, löst jedoch zur Laufzeit einen Fehler aus.
Der Laufzeitfehler kann weiter in integrierte Ausnahmen oder benutzerdefinierte Ausnahmen klassifiziert werden. Beispiele für integrierte Ausnahmen sind:
Zum Beispiel, wenn ein Benutzer ein int anstelle einer Zeichenfolge eingibt oder Werte einfügt, die größer als die Größe eines Arrays sind.
public class JavaExceptionCodes { public static void main (String []args) { int nombas[] = {1, 2, 3, 4, 5}; System.out.println(nombas[6]); } } //ArrayIndexOutOfBoundsException
Auch als semantischer Fehler bekannt, tritt er auf, wenn in der logischen Ausgabe eines Programms ein Fehler vorliegt. Beispielsweise zeigt 3 3 eine Ausgabe von 7 an, oder wenn Sie sich bei Ihrem Konto anmelden und auf einem anderen Profil landen.
Der Fehler bei der Kompilierung ist am einfachsten zu erkennen, da Ihre IDE den Programmierer immer auf diesen Fehler hinweist. Logische Fehler sind in den meisten Fällen der am schwersten zu erkennende Fehler, da der Code keinen Kompilierungs- oder Laufzeitfehler auslöst.
Die Ausnahmebehandlung wird verwendet, um Fehler in einem Programm abzufangen und den normalen Ablauf der Programmausführung aufrechtzuerhalten. Normalerweise wird die Ausführung des Codes gestoppt, sobald ein Programm einen Fehler auslöst.
Durch das vorherige Abfangen und Behandeln von Fehlern kann das Programm den Codeblock mit Fehlern überspringen und mit der Ausführung des Rests des Programms fortfahren.
Try – Catch – Final – Throw – Throws sind die Liste der Methoden zur Ausnahmebehandlung in Java. Lassen Sie uns jeden von ihnen anhand von Beispielen im Detail aufschlüsseln:
Try wird verwendet, um eine Codezeile oder Codeblöcke einzuschließen, die möglicherweise eine Ausnahme auslösen. Es gibt auch einen verschachtelten Versuch, bei dem es sich um einen Versuch mit einem oder mehreren inneren Versuchsblöcken handelt. Sie dienen demselben Zweck.
Syntax
try{ }
Der Catch ist ein Codeblock, der zum Abfangen von Fehlern verwendet wird, die im Try-Block ausgegeben werden.
Syntax
try{ } catch (Exception e){ }
mehrere Catch-Blöcke
public class JavaExceptionCodes { public static void main (String []args) { int x = 10; int y = 0; int z ; int nombas [] = {5, 6, 7, 8, 9}; try { System.out.println(z = x / y); System.out.println(nombas[6]); } catch (ArithmeticException e){ System.out.println("Can't divide by 0. Choose another number" e); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("Array Out Of Bound" e); } System.out.println("End"); } }
Schließlich gibt es einen optionalen Codeblock, der normalerweise nach den Try- und Catch-Codeblöcken platziert wird. Es wird verwendet, um wichtige Codes auszuführen. Der final-Block wird immer ausgeführt, unabhängig davon, ob das Programm einen Fehler auslöst oder nicht.
Syntax
try{ } catch (Exception e){ } finally{ }
Throw ist ein Schlüsselwort, das verwendet wird, um eine Ausnahme innerhalb einer Methode oder eines Codeblocks auszulösen.
Syntax
public class JavaExceptionCodes { public static void main (String []args) { try { throw new ArithmeticException("Try Run"); } catch (ArithmeticException e){ System.out.println("Catch Exception Error"); } } }
Im Gegensatz zum Schlüsselwort throw wird das Schlüsselwort throws nicht zum Auslösen einer Ausnahme verwendet. Es gibt jedoch an, dass in der Methode möglicherweise eine Ausnahme vorliegt. Die Throws werden in der Methodensignatur und nicht innerhalb der Methode verwendet.
Ein Try-Block kann mehrere Anweisungen (Codezeilen) enthalten. Am besten erstellen Sie mehrere Catch-Blöcke, um den Fehler in jeder Anweisung abzufangen.
Geben Sie immer die Art der Ausnahme an, wenn Sie mit mehreren Catch-Blöcken arbeiten.
Wenn ein Try-Block mehrere Anweisungen enthält und Sie die Anweisung mit dem Fehler nicht kennen, erstellen Sie am Ende anderer Ausnahmen eine letzte allgemeine Ausnahme, um unbekannte Fehler abzufangen.
Platzieren Sie den allgemeinen Ausnahme-Catch-Block immer am Ende der anderen benutzerdefinierten Ausnahme-Catch-Blöcke.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3