Heim  >  Artikel  >  Java  >  Ausnahmen und Fehler in Java

Ausnahmen und Fehler in Java

(*-*)浩
(*-*)浩Original
2019-11-14 11:24:193359Durchsuche

In Java haben alle Ausnahmen einen gemeinsamen Vorfahren Throwable (throwable). Throwable gibt die Gemeinsamkeit jedes Problems im Code an, das mithilfe eines Ausnahmeweitergabemechanismus über eine Java-Anwendung weitergegeben werden kann.

Ausnahmen und Fehler in Java

Throwable: Es gibt zwei wichtige Unterklassen: Exception (Exception) und Error (Error), die beide wichtige Unterklassen der Java-Ausnahmebehandlung sind große Anzahl von Unterkategorien. Der Unterschied zwischen Ausnahmen und Fehlern besteht darin, dass Ausnahmen vom Programm selbst behandelt werden können, während Fehler nicht behandelt werden können. (Empfohlenes Lernen: Java-Kurs )

Fehler (Fehler): ist ein Fehler, den das Programm nicht verarbeiten kann, was darauf hinweist, dass er schwerwiegender ist Ausführen von Anwendungen. Die meisten Fehler haben nichts mit vom Codeschreiber ausgeführten Aktionen zu tun, sondern stellen Probleme mit der JVM (Java Virtual Machine) dar, während der Code ausgeführt wird.

Zum Beispiel tritt bei einem Ausführungsfehler der Java Virtual Machine (Virtual MachineError) ein OutOfMemoryError auf, wenn die JVM nicht mehr über die erforderlichen Speicherressourcen verfügt, um die Ausführung des Vorgangs fortzusetzen.

Wenn diese Ausnahmen auftreten, entscheidet sich die Java Virtual Machine (JVM) im Allgemeinen dafür, den Thread zu beenden. Diese Fehler weisen darauf hin, dass der Fehler in der virtuellen Maschine selbst auftritt oder wenn die virtuelle Maschine versucht, eine Anwendung auszuführen, z. B. ein Ausführungsfehler der Java Virtual Machine (Virtual MachineError), ein Klassendefinitionsfehler (NoClassDefFoundError) usw.

Diese Fehler können nicht überprüft werden, da sie außerhalb der Kontroll- und Verarbeitungsmöglichkeiten der Anwendung liegen und es sich bei den meisten davon um Bedingungen handelt, die bei der Ausführung des Programms nicht auftreten dürfen. Bei einer gut gestalteten Anwendung sollte selbst dann, wenn ein Fehler auftritt, kein Versuch unternommen werden, die von ihm verursachte Ausnahme zu behandeln. In Java werden Fehler durch Unterklassen von Error beschrieben.

Ausnahme: ist eine Ausnahme, die vom Programm selbst behandelt werden kann. Die Exception-Klasse hat eine wichtige Unterklasse, RuntimeException. Die RuntimeException-Klasse und ihre Unterklassen stellen Fehler dar, die durch „allgemeine JVM-Vorgänge“ verursacht werden.

Wenn Sie beispielsweise versuchen, eine Nullobjektreferenz zu verwenden, durch Null zu dividieren oder das Array außerhalb der Grenzen liegt, werden Laufzeitausnahmen (NullPointerException, ArithmeticException) bzw. ArrayIndexOutOfBoundException ausgelöst.


Ausnahme (Ausnahme) ist in zwei Kategorien unterteilt: Laufzeitausnahme und Nicht-Laufzeitausnahme (Kompilierungsausnahme). Das Programm sollte diese Ausnahmen so weit wie möglich behandeln.

Laufzeitausnahmen: sind Ausnahmen der RuntimeException-Klasse und ihrer Unterklassen, wie z. B. NullPointerException (Nullzeiger-Ausnahme), IndexOutOfBoundsException (Subscript-Out-of-Bounds-Ausnahme) usw. Diese Ausnahmen sind ungeprüfte Ausnahmen Sie können wählen, ob Sie sie im Programm erfassen und verarbeiten möchten oder nicht.

Diese Ausnahmen werden im Allgemeinen durch Programmlogikfehler verursacht, und das Programm sollte das Auftreten solcher Ausnahmen aus logischer Sicht so weit wie möglich vermeiden. Das Merkmal von Laufzeitausnahmen besteht darin, dass der Java-Compiler sie nicht überprüft. Das heißt, wenn diese Art von Ausnahme im Programm auftreten kann, selbst wenn sie nicht mit einer Try-Catch-Anweisung abgefangen oder mit a zum Auslösen deklariert wird throws-Klausel wird sie kompiliert und übergeben.

Nicht-Laufzeitausnahme (Kompilierungsausnahme): ist eine andere Ausnahme als RuntimeException, und alle Typen gehören zur Exception-Klasse und ihren Unterklassen.

Aus Sicht der Programmsyntax handelt es sich um eine Ausnahme, die behandelt werden muss. Wenn sie nicht behandelt wird, wird das Programm nicht kompiliert. Wie IOException, SQLException usw. sowie benutzerdefinierte Ausnahmen werden im Allgemeinen nicht angepasst.

Das obige ist der detaillierte Inhalt vonAusnahmen und Fehler in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn