Was ist Java-Ausnahmebehandlung
1. Ausnahme
Bei der Ausführung eines Programms tritt ein unerwartetes Ereignis auf, das verhindert, dass das Programm wie vom Programmierer erwartet normal ausgeführt wird. Dies ist eine Ausnahme. Wenn eine Ausnahme auftritt, sollte das Programm sich selbst überlassen bleiben, sich sofort beenden und beenden, oder sollte dem Benutzer eine Fehlermeldung ausgegeben werden? Oder im C-Stil: Funktionsrückgabewert als Ausführungsstatus verwenden? . (Empfohlenes Tutorial: Java-Tutorial )
2. Mechanismus zur Ausnahmebehandlung
Java bietet eine bessere Lösung: Ausnahmebehandlungsmechanismus.
Der Ausnahmebehandlungsmechanismus ermöglicht es dem Programm, Ausnahmen gezielt gemäß der voreingestellten Ausnahmebehandlungslogik des Codes zu behandeln, wenn eine Ausnahme auftritt, sodass das Programm zum Normalzustand zurückkehren und die Ausführung fortsetzen kann so weit wie möglich unter Beibehaltung der Klarheit des Codes.
Ausnahmen in Java können verursacht werden, wenn Anweisungen in einer Funktion ausgeführt werden, oder sie können manuell von Programmierern über die throw-Anweisung ausgelöst werden. Solange eine Ausnahme in einem Java-Programm auftritt, wird es eine Ausnahme geben Das Ausnahmeobjekt des entsprechenden Typs wird verwendet, um die Ausnahme zu kapseln, und die JRE versucht, einen Ausnahmehandler zur Behandlung der Ausnahme zu finden.
Die Throwable-Klasse ist die übergeordnete Klasse der Java-Ausnahmetypen. Nur wenn ein Objekt eine (direkte oder indirekte) Instanz der Throwable-Klasse ist, ist es ein Ausnahmeobjekt und kann an der Ausnahme erkannt werden Handhabungsmechanismus. Im JDK sind einige häufig verwendete Ausnahmeklassen integriert, und wir können Ausnahmen auch anpassen.
3. Ausnahmebehandlung:
Die Ausnahmebehandlung ist in passive Behandlung unterteilt (wenn Sie nicht selbst damit umgehen können, werfen Sie einfach Würfe an die Stelle, an der sie aufgerufen wird , die Ausnahme wird nicht aufgelöst, sondern nur ausgelöst) und aktive Behandlung (Abfangen von Ausnahmen, das Abfangen von Ausnahmen wird durch die Try-Catch-Anweisung oder die Try-Catch-finally-Anweisung erreicht)
a) Passive Behandlung:
Syntax:
public void m1() throws 异常类名1,异常类名2{}
Eigenschaften: Dies ist gleichbedeutend damit, sich der Verantwortung zu entziehen, und das Problem kann am Ende immer noch nicht gelöst werden.
Kompilierung durchlaufen lassen.
Wenn es sich bei der ausgelösten Ausnahme um eine Nicht-Laufzeit-Ausnahme (überprüft) handelt, muss der Aufrufer, der diese Methode aufruft, damit umgehen.
Wenn es sich bei der ausgelösten Ausnahme um eine Laufzeitausnahme (ungeprüft) handelt, kann sie behandelt werden oder nicht.
b) Aktive Verarbeitung: (Ausnahme abfangen)
Die Ausnahme direkt abfangen und behandeln
Syntax:
try{ //异常代码 }catch(异常类名 引用名){ //当异常产生执行的代码 }
nach dem Versuch abfangen Der Codeblock kann stimmt nur erfolgreich mit einer Ausnahme überein, die nach
catch deklariert wurde. Wenn es sich um eine übergeordnete Klasse handelt, sind die Ausnahmen, die es abfangen kann, sich selbst + alle Ausnahmen der Unterklasse (Polymorphismus)
Hinweis: Wenn der Catch-Codeblock eine Ausnahme abfängt, Die Unterklassenausnahme muss vor der übergeordneten Klassenausnahme definiert werden, andernfalls tritt ein Kompilierungsfehler auf.
Endlich Codeblock: Der Code in diesem Codeblock wird definitiv ausgeführt und wird häufig zum Schließen von Ressourcen verwendet,
try{ }catch(){ }finally{ //无论是否产生异常,一定会去执行的代码 }
Hinweis: Definieren Sie keine Return-Anweisungen im „finally“-Codeblock
4. Was bedeuten die Schlüsselwörter „throws“, „throw“, „try“, „catch“ und „finally“?
throws dient dazu, die Ausnahme abzurufen.
throw bedeutet, die Ausnahme auszulösen.
try besteht darin, die Anweisung dort einzuschließen, wo die Ausnahme auftritt, um die Ausnahme zu behandeln . Es kann auch verwendet werden in Eine neue Ausnahme wird im Try-Block ausgelöst
catch ist eine Anweisung, die ausgeführt wird, wenn eine Ausnahme vorliegt
wird schließlich ausgeführt, unabhängig davon, ob eine Ausnahme vorliegt eine Ausnahme
Das obige ist der detaillierte Inhalt vonWas ist Java-Ausnahmebehandlung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!