Heim >Java >javaLernprogramm >Einführung in Java-Ausnahmebehandlungsmethoden (mit Code)
Dieser Artikel bietet Ihnen eine Einführung in die Java-Ausnahmebehandlungsmethoden (mit Code). Ich hoffe, dass er Ihnen als Referenz dienen wird.
Vorwort: Egal in unserer Arbeit oder unserem Leben, es wird immer verschiedene „Fehler“ und verschiedene plötzliche „Abnormalitäten“ geben. Egal wie intensiv wir uns vorbereiten und testen, diese Anomalien werden immer irgendwann auftreten. Wenn sie nicht richtig oder nicht rechtzeitig behoben werden, führen sie oft zu anderen neuen Problemen. Daher müssen wir immer auf diese Fallstricke achten und eine Reihe von „Best Practices“ benötigen, um einen vollständigen Ausnahmebehandlungsmechanismus einzurichten.
Zunächst habe ich hier ein Strukturdiagramm der Anomalieklassifizierung gezeichnet.
Im JDK ist Throwable die übergeordnete Klasse aller Ausnahmen, die in „Error“ und „Exception“ unterteilt sind. Fehler bedeutet, dass ein unkontrollierbarer schwerwiegender Fehler aufgetreten ist, z. B. OutOfMemoryError. Ausnahmen sind in zwei Kategorien unterteilt (Prüfung): Wir müssen die Methodendefinition manuell versuchen/abfangen oder auslösen. Der Compiler prüft ihre Rechtmäßigkeit während der Kompilierung. Ungeprüfte Ausnahmen (deaktivieren) erfordern keine vorherige Bearbeitung durch uns. Diese einfachen Konzepte müssen von Entwicklern beherrscht werden. Hier werde ich eine Illustration zeigen, ohne sie im Detail zu beschreiben.
Wenn es um die Ausnahmebehandlung geht, muss hier try/catch/finally erwähnt werden. „try“ kann nicht alleine existieren, es muss mit „catch“, „final“ oder allen dreien gleichzeitig gepaart werden.
1. Codeblock ausprobieren: Wenn die entsprechende Ausnahme gefunden wird, springen Sie zum Catch.
2. Codeblock abfangen: Wenn die entsprechende Ausnahme auftritt, wird der darin enthaltene Code ausgeführt, entweder behandelt oder nach oben geworfen.
3. Schließlich muss der Codeblock ausgeführt werden, unabhängig davon, ob eine Ausnahme vorliegt. Er wird im Allgemeinen zum Bereinigen von Ressourcen, zum Freigeben von Verbindungen usw. verwendet. Es gibt jedoch mehrere Situationen, in denen der Code hier nicht ausgeführt wird.
versuchen/fangen/endlich fangen
Hier sind zwei Fallen, auf die wir bei der Verwendung von tcf stoßen können.
Code 1
public class TCFDemo { public static void main(String[] args) { //11 System.out.println(returnVal()); } static int returnVal(){ int a = 1; int b = 10; try{ return ++a; }finally { return ++b; } } }
Falle 1: Fügen Sie schließlich eine Return-Anweisung hinzu, die den Rückgabewert des Try-Codes überschreibt. Wenn die Geschäftslogik komplex ist, gerät man leicht in eine trap hier, nein Hilft bei der Fehlerbehebung.
Code 2
public class TCFDemo { public static void main(String[] args) { Lock lock = new ReentrantLock(); try{ //有可能加锁失败 lock.lock(); //dost }finally { lock.unlock(); } } }
Falle 2: Da die Sperrmethode beim Sperren möglicherweise eine Uncheck-Ausnahme auslöst, wird die Entsperrmethode unweigerlich ausgeführt, wenn sie sich in einem Try-Codeblock befindet. Da die Sperrung zu diesem Zeitpunkt nicht erfolgreich ist, wird eine IllegalMonitorStateException ausgelöst. Auf diese Weise überschreibt die letztere Ausnahme die früheren Sperrfehler-Ausnahmeinformationen, sodass wir die Sperrmethode außerhalb des Try-Codeblocks verschieben sollten.
Best Practices
Okay, ich habe kurz die Klassifizierung von Ausnahmen und die Vorsichtsmaßnahmen für try/catch/finally vorgestellt. Jetzt können wir zusammenfassen, was wir tun Was sind die „Best Practices“ beim Umgang mit Ausnahmen?
Ende
Eine kleine Anomalie bringt großes Lernen mit sich, was denken Sie?
Das obige ist der detaillierte Inhalt vonEinführung in Java-Ausnahmebehandlungsmethoden (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!