In Java haben alle Ausnahmen einen gemeinsamen Vorfahren, das throwable (Throwable). Throwable gibt die Gemeinsamkeit von Problemen an, die durch Java -Anwendungen im Code durch Ausnahmemechanismen übertragen werden können.
Throwable hat zwei wichtige Unterklassen: Ausnahme und Fehler. Beide sind wichtige Unterklassen für die Handhabung von Java -Ausnahmen und enthält eine große Anzahl von Unterklassen.
①.Exception ist ein mögliches vorhersehbares und wiederherstellbares Problem in der Anwendung. Im Allgemeinen weisen die meisten Anomalien mittelschweren bis milden Problemen an. Ausnahmen werden im Allgemeinen in bestimmten Umgebungen generiert und treten normalerweise in bestimmten Methoden und Operationen des Codes auf. In der Echoinput -Klasse kann eine IOException auftreten, wenn Sie versuchen, die Readline -Methode aufzurufen.
Die Ausnahmeklasse hat eine wichtige Unterklasse, RunTimeException. Die RunTimeException -Klasse und ihre Unterklassen stellen einen Fehler dar, der durch "gemeinsame JVM -Operationen" aufgeworfen wird. Wenn Sie beispielsweise versuchen, eine Null -Objektreferenz, einen Null -Divisor oder ein Array außerhalb der Grenzen zu verwenden, werden eine Laufzeitausnahme (NullPointerexception, Arithmeexception) und ArrayIndexoutOfBoundException erhöht.
②.Error zeigt ein ernstes Problem bei der Ausführung der Anwendung an. Die meisten Fehler beziehen sich nicht mit den Aktionen des Codeautors, sondern stellen Probleme mit dem JVM (Java Virtual Machine) dar, wenn der Code ausgeführt wird. Wenn beispielsweise das JVM nicht mehr über die Speicherressourcen verfügt, die für den Betrieb des Betriebs erforderlich sind, wird ein OutofMemoryError angezeigt.
Die Trennung zwischen Überprüfung von Ausnahmen und nicht Überprüfung der Ausnahmen
Ausnahmen in Java sind in zwei Kategorien unterteilt:
1. Überprüfte Ausnahme (Nicht-Runtime-Ausnahme)
2. Ausnahme (Laufzeitausnahme)
Laufzeitausnahme
Die RunTimeException -Klasse ist eine Unterklasse der Ausnahmeklasse. Es wird eine Laufzeitausnahme genannt. Alle Laufzeitausnahmen in Java werden direkt oder indirekt von der RunTimeException -Klasse vererbt.
Alle Ausnahmen in Java, die von Ausnahme, aber nicht von RunTimeException erben, sind nicht-rechtzeitige Ausnahmen.
Einem Versuch kann von mehreren Fängen verfolgt werden, aber egal wie viele, höchstens ein Fangblock ausgeführt werden.
Für nicht rechtzeitige Ausnahmen müssen sie verarbeitet werden, sonst können sie nicht zusammengestellt werden.
Es gibt zwei Möglichkeiten, damit umzugehen:
1. Verwenden Sie Try..catch.. Final zum Erfassen;
2. Schreiben Sie einen Ausnahmetyp nach der Methodeerklärung, mit dem die Ausnahme generiert wird, z. B. Ausnahme, die Ausnahme auf die äußere Ebene aussieht.
Für Laufzeitausnahmen können sie verarbeitet werden oder nicht. Es wird empfohlen, keine Ausnahmen von Laufzeit zu bewältigen.
Erweiterung: Der Unterschied zwischen Fehler und Ausnahme (Fehler gegen Ausnahme)
1) .Java.lang.Error: Eine Unterklasse aus Throwable, die zum Markieren kritischer Fehler verwendet wird. Eine angemessene Bewerbung sollte nicht versuchen, Fehler zu versuchen/zu fangen. Die meisten Fehler sind abnormal und sollten überhaupt nicht auftreten.
Java.lang.Exception: Eine Unterklasse aus Throwable, die verwendet wird, um ein vernünftiges Programm zum Fangen anzuzeigen. Das heißt, es handelt sich nur um ein Programm, das laufende Bedingung hat, kein ernsthafter Fehler, und Benutzerprogramme werden aufgefordert, ihn zu fangen.
2). Fehler und RunTimeException und ihre Unterklassen sind nicht überprüfte Ausnahmen, während alle anderen Ausnahmeklassen überprüft werden.
Überprüfte Ausnahmen: wird normalerweise aus einem wiederherstellbaren Programm gewonnen und kann sich am besten von solchen Ausnahmen mit dem Programm erholen. Beispielsweise filenotFoundException, ParseException usw. Die überprüfte Ausnahme erfolgt in der Zusammenstellungsphase, und Sie müssen versuchen, dass es nicht übergeben wird.
Unkontrollierte Ausnahmen: Normalerweise hätte eine Ausnahme, die nicht hätte passieren dürfen, wenn alles normal ist, aber es geschieht. Es tritt während der Laufzeit auf und hat Unsicherheit, hauptsächlich durch logische Probleme im Programm. Beispielsweise sollten Programme aus der Perspektive der Sprache selbst keine Ausnahmen wie Catch verwenden. Obwohl sie Ausnahmen wie RunTimeException fangen und sich erholen können, werden Terminalprogrammierer nicht dazu ermutigt, dies zu tun, da dies nicht erforderlich ist. Da diese Art von Fehler selbst ein Fehler ist und behoben werden sollte, sollte das Programm sofort gestoppt werden, wenn solche Fehler auftreten. Daher sollte das Programm angesichts von Fehlern und nicht kontrollierten Ausnahmen automatisch beendet werden. Programmierer sollten keine Dinge wie Try/Fang tun, sondern den Grund herausfinden und die Codelogik ändern.
RunTimeException: Das RunTimeException-System enthält falsche Konvertierung, Array-Zugriff, Versuche, auf Nullzeiger zuzugreifen, usw.
Das Prinzip der Umgang mit RunTimeException lautet: Wenn eine RunTimeException auftritt, muss es ein Fehler eines Programmierers sein. Beispielsweise können Array-Access-Ausnahmen außerhalb der Untergrabungen durch Überprüfen von Array-Einweisungen und Array-Grenzen vermieden werden. Andere (IOException usw.) überprüfte Ausnahmen sind im Allgemeinen externe Fehler, z.
Der obige Artikel Java_Exception -Klasse (Einführung in den Unterschied zwischen Fehlern und Ausnahmen) ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.