Heim  >  Artikel  >  Java  >  Was sind die häufigsten Ausnahmen und ihre Behandlung in Java-Programmen?

Was sind die häufigsten Ausnahmen und ihre Behandlung in Java-Programmen?

王林
王林nach vorne
2023-06-03 22:16:421397Durchsuche

1. Häufige Ausnahmen im JDK

1. Allgemeine Ausnahmeklassifizierung in Java

Die Throwable-Klasse hat zwei direkte Unterklassen: (1) Ausnahme: Das Problem kann auftreten abgefangen werden

(2) Fehler: Systemfehler, normalerweise von JVM behandelt

3 Kategorie der abgefangenen Ausnahmen

(1) Ausnahme prüfen: Von Exception abgeleitete Ausnahmeklasse, muss abgefangen werden Oder deklarieren Sie sie erneut, um sie auszulösen (2) Laufzeitausnahme: Bezieht sich auf die von RuntimeException abgeleiteten Ausnahmeklassen. Diese Art von Ausnahmeobjekt kann jederzeit mit der throw-Anweisung throw new ArithmeticException(...) ausgelöst werden.

2 Gründe für die Ausnahme

1 Der Benutzer hat illegale Daten eingegeben. 2. Die zu öffnende Datei existiert nicht.

3. Die Netzwerkkommunikation ist eine Verbindungsunterbrechung

3. Mehrere häufige Ausnahmen in Java-Programmen und die Gründe für diese Ausnahme

1

Eine häufige Ursache für diese Ausnahme ist das Vorhandensein eines Nullzeigers im Programm, was bedeutet, dass ein nicht initialisiertes oder nicht vorhandenes Objekt aufgerufen wird.

Diese Codes erscheinen häufig bei der Objekterstellung und bei Array-Aufrufen, beispielsweise wenn das Objekt nicht initialisiert ist oder der Bildpfad falsch ist. Der im Array-Code erscheinende Nullzeiger

verwechselt die Initialisierung des Arrays mit der Initialisierung der Array-Elemente. Die Initialisierung des Arrays besteht darin, dem Array Speicherplatz zuzuweisen, und die Initialisierung der Array-Elemente besteht darin, den Elementen im Array Anfangswerte zuzuweisen. 2. java.lang.ClassNotFoundException (die angegebene Klasse existiert nicht)

Ursache: Beim Versuch, Daten vom Typ „String“ in einen angegebenen numerischen Typ zu konvertieren, die Zeichenfolge jedoch nicht die Anforderungen für numerische Daten erfüllt, wird diese Ausnahme ausgelöst. Bei der Konvertierung von Daten vom Typ „String“ in einen numerischen Typ ist beispielsweise die Konvertierung von „123456“ in einen numerischen Typ möglich. Wenn die Daten vom Typ „String“ jedoch

nicht numerische Zeichen enthalten, z. B. 123*56, tritt bei der Konvertierung in den numerischen Typ eine Ausnahme auf. Das System fängt diese Ausnahme ab und behandelt sie versucht, die Zeichenfolge zu übergeben. Beim Laden einer bestimmten Klasse kann eine Ausnahme verursacht werden. Zum Beispiel:

Eine Ausnahme tritt auf, wenn Class.forName() oder finaSystemClass() oder LoadClass() von ClassLoad aufgerufen wird

4, java.lang.IndexOutOfBoundsException (Array-Index-Ausnahme außerhalb der Grenzen)

Ursache: Ansicht Überschreitet der Indexwert des im Programm aufgerufenen Arrays oder Strings den Bereich des Arrays? Im Allgemeinen ist es nicht einfach, einen solchen Fehler beim expliziten Aufruf eines Arrays zu machen, aber beim impliziten Aufruf kann ein Fehler auftreten In diesem Fall wird die Länge des im Programm definierten Arrays nicht im Voraus deklariert. Sie können die Länge des Arrays zunächst überprüfen, um diese Ausnahme zu vermeiden. 5. java.lang. IllegalArgumentException (Methodenparameterfehler)

Wenn die Methode g.setColor(int red, int green, int blue) beispielsweise drei Werte enthält, tritt diese Ausnahme auf, wenn mehr vorhanden sind als 255. Wenn diese Ausnahme im Programm vorhanden ist, müssen Sie überprüfen, ob die Parameterübergabe oder der Parameterwert im Methodenaufruf falsch ist. 6 java.lang.IllegalAccessException (keine Zugriffsrechte)

Das Programm möchte eine Klasse aufrufen, aber die aktuelle Methode ist Diese Ausnahme tritt ohne Zugriff auf die Klasse auf. Diese Ausnahme kann auftreten, wenn das Paket im Programm verwendet wird .

8, java.lang.ClassCastException (Datentypkonvertierungsausnahme)

Wenn versucht wird, die Konvertierung eines Objekts zu erzwingen, das Objekt jedoch nicht konvertierbar ist oder nicht in eine Instanz seiner Unterklasse konvertiert werden kann, tritt diese Ausnahme auf

9, java.lang.FileNotFoundException (Ausnahme Datei nicht gefunden)

Diese Ausnahme wird ausgelöst, wenn das Programm eine nicht vorhandene Datei zum Lesen und Schreiben öffnet. Diese Ausnahme wird von der Konstruktordeklaration von FileInputStream, FileOutputStream,

RandomAccessFile ausgelöst, auch wenn die bearbeitete Datei existiert, aber aus irgendeinem Grund nicht darauf zugegriffen werden kann, z. B. beim Öffnen einer

-Datei mit nur Leseberechtigungen und dem Schreiben von Daten in sie , Die obige Konstruktionsmethode verursacht weiterhin Ausnahmen

10, java.lang.ArrayStoreException (Array-Speicherausnahme)

Beim Versuch, ein Objekt eines inkompatiblen Typs in einem Object[]-Array zu speichern, wird eine Ausnahme ausgelöst

11 , java.lang.NoSuchMethodException (Methode existiert nicht, Ausnahme)

Wenn das Programm versucht, ein Objekt durch Reflektion zu erstellen, auf eine Methode zuzugreifen (zu ändern oder zu lesen), die Methode jedoch nicht existiert, wird eine Ausnahme ausgelöst geworfen.

12. java.lang.EOFException (Ende der Dateiausnahme)

Wenn das Programm während des Eingabevorgangs auf das Ende der Datei oder des Streams stößt, wird eine Ausnahme ausgelöst. Diese Ausnahme wird also verwendet, um zu überprüfen, ob das Ende der Datei oder des Streams erreicht ist

13. java.lang.InstantiationException (Instantiierungsausnahme)

wird ausgelöst, wenn versucht wird, eine Instanz einer Klasse über die newInstance()-Methode von Class zu erstellen, das Programm das Objekt jedoch nicht über den Konstruktor erstellen kann.

Klassenobjekt repräsentiert eine abstrakte Klasse, Schnittstelle, Array-Klasse, Basistyp. Die durch diese Klasse dargestellte Klasse verfügt nicht über einen entsprechenden Konstruktor.

14. java.lang.InterruptedException (unterbrochene Ausnahme)

Wird ausgelöst, wenn sich ein Thread in einem langfristigen Warte-, Schlaf- oder anderen Pausenzustand befindet und zu diesem Zeitpunkt andere Threads den Thread über die Interrupt-Methode von Thread beenden Diese Ausnahme tritt auf.

15.java.lang.CloneNotSupportedException (Klonausnahme wird nicht unterstützt)

Wenn die Cloneable-Schnittstelle nicht implementiert ist oder die Klonmethode nicht unterstützt wird, wird beim Aufruf der clone()-Methode diese Ausnahme ausgelöst

16. java.lang .OutOfMemoryException (Fehler wegen nicht genügend Speicher)

Dieser Fehler wird ausgelöst, wenn der verfügbare Speicher nicht ausreicht, damit die Java Virtual Machine einem Objekt zuweisen kann

17, java.lang.NoClassDefFoundException (Klassendefinitionsfehler nicht gefunden)

Wenn Java Dieser Fehler wird ausgelöst, wenn die virtuelle Maschine oder der Klassenlader versucht, eine Klasse zu instanziieren und die Definition der Klasse nicht finden kann

Das obige ist der detaillierte Inhalt vonWas sind die häufigsten Ausnahmen und ihre Behandlung in Java-Programmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen