Heim  >  Artikel  >  Java  >  Was sind die Ausnahmen in Java?

Was sind die Ausnahmen in Java?

angryTom
angryTomOriginal
2019-11-12 15:44:274115Durchsuche

Was sind die Ausnahmen in Java?

Was sind die Java-Ausnahmen?

Wenn wir Java-Programme schreiben, stoßen wir immer auf verschiedene Fehler Im Folgenden werden häufig auftretende Ausnahmefehler für Sie zusammengefasst. (Empfohlenes Tutorial:

Java-Tutorial)

1. java.lang.nullpointerException

Jeder muss oft auf diese Ausnahme stoßen, und die Erklärung dafür Ausnahme Es ist „das Programm ist auf einen Nullzeiger gestoßen“. Einfach ausgedrückt bedeutet dies, dass ein nicht initialisiertes Objekt oder ein nicht vorhandenes Objekt aufgerufen wird. Beispielsweise wird das Bild nicht initialisiert , oder das Bild wird beim Erstellen nicht initialisiert usw. Das Auftreten von Nullzeigern in Array-Operationen ist oft ein Fehler von Freunden, die gerade erst anfangen, Programmieren zu lernen, das heißt, sie verwechseln die Initialisierung des Arrays mit der Initialisierung der Array-Elemente. Bei der Initialisierung des Arrays wird dem Array der erforderliche Speicherplatz zugewiesen. Die Elemente im initialisierten Array wurden nicht instanziiert und sind noch leer. Daher muss jedes Element initialisiert werden (wenn es aufgerufen werden soll)

2. java.lang.classnotfoundException

Diese Ausnahme tritt häufig auf, wenn viele Programmierer, die ursprünglich in Entwicklungsumgebungen wie jb entwickelt haben, Pakete unter jb unter wtk kompilieren Die Ausnahme lautet: „Die angegebene Klasse existiert nicht“. Hier prüfen wir hauptsächlich, ob der Name und der Pfad der Klasse korrekt sind. Wenn das Paket unter jb erstellt wird, wird das Paket normalerweise standardmäßig hinzugefügt, also wird es nach dem Herunterladen von wtk übertragen Fügen Sie unbedingt den Paketpfad hinzu.

3. java.lang.arithmeticException

Die Erklärung dieser Ausnahme lautet „Ausnahme bei mathematischen Operationen“. Für einen solchen Ausnahmefall sollte jeder die in seinem Programm enthaltenen mathematischen Operationen sorgfältig überprüfen, um festzustellen, ob etwas mit der Formel nicht stimmt.

4. java.lang.arrayindexoutofboundsexception

Ich glaube, viele Freunde sind schon oft auf diese Ausnahme gestoßen Im Programm arbeiten die meisten von ihnen mit Arrays. Wenn Sie also ein Array aufrufen, müssen Sie sorgfältig prüfen, ob der von Ihnen aufgerufene Index den Bereich des Arrays überschreitet. Im Allgemeinen ist die Anzeige (dh die direkte Verwendung) nicht einfach Ein solcher Fehler tritt auf, aber ein impliziter Aufruf (d. h. die Verwendung einer Variablen zur Darstellung des Index) führt häufig zu Fehlern. Eine andere Situation besteht darin, dass die Länge des im Programm definierten Arrays durch bestimmte Werte bestimmt wird Methoden und wird nicht im Voraus deklariert. Um diese Ausnahme zu vermeiden, ist es am besten, zuerst die Länge des Arrays zu überprüfen.

5. java.lang.illegalargumentException

Die Erklärung dieser Ausnahme ist „Methodenparameterfehler“. Wenn beispielsweise der Lautstärkeparameter in der Lautstärkeanpassungsmethode als negative Zahl geschrieben wird, tritt diese Ausnahme auf. Ein weiteres Beispiel sind die drei Werte in g.setcolor(int red, int green, int blue ) Methode. Wenn es mehr als 255 gibt, tritt auch diese Ausnahme auf. Sobald wir diese Ausnahme gefunden haben, müssen wir schnell überprüfen, ob bei der Parameterübergabe im Methodenaufruf ein Fehler vorliegt.

6. java.lang.illegalaccessException

Die Erklärung dieser Ausnahme ist „keine Zugriffsberechtigung“, wenn die Anwendung eine Klasse, aber die aktuelle Methode aufrufen möchte nicht Diese Ausnahme tritt beim Zugriff auf diese Klasse auf. Bitte beachten Sie diese Ausnahme bei der Verwendung von Paketen im Programm.

Es gibt viele weitere Ausnahmen, daher werde ich sie nicht einzeln auflisten. Ich möchte jedoch erklären, dass ein qualifizierter Programmierer ansonsten ein umfassendes Verständnis für häufige Probleme im Programm und entsprechende Lösungen haben muss Wenn Sie einfach damit aufhören, Programme zu schreiben, ohne sie zu ändern, wird dies große Auswirkungen auf Ihre eigene Entwicklung haben. Alle Ausnahmebeschreibungen finden Sie in der API.

ArithmeticException-Klasse: ArithmeticExecption

Nullzeiger-Ausnahmeklasse: NullPointerException

Typumwandlungsausnahme: ClassCastException

Array-Negativ-Index-Ausnahme: NegativeArrayException

Ausnahme „Array-Index außerhalb der Grenzen“: ArrayIndexOutOfBoundsException

Ausnahme „Verstoß gegen Sicherheitsprinzipien“: SecurityException

Ausnahme „Datei beendet“: EOFException

Ausnahme „Datei nicht gefunden“: FileNotFoundException

Ausnahme bei der Konvertierung von Zeichenfolgen in Zahlen: NumberFormatException

Ausnahme bei der Operationsdatenbank: SQLException

Eingabe- und Ausgabeausnahme: IOException

Ausnahme bei der Methode nicht gefunden: NoSuchMethodException

java.lang.AbstractMethodError

Fehler bei der abstrakten Methode. Wird ausgelöst, wenn die Anwendung versucht, eine abstrakte Methode aufzurufen.

java.lang.AssertionError

Assertionsfehler. Wird verwendet, um einen Behauptungsfehler anzuzeigen.

java.lang.ClassCircularityError

Fehler bei der zirkulären Abhängigkeit der Klasse. Beim Initialisieren einer Klasse wird diese Ausnahme ausgelöst, wenn eine zirkuläre Abhängigkeit zwischen Klassen erkannt wird.

java.lang.ClassFormatError

Klassenformatfehler. Wird ausgelöst, wenn die Java Virtual Machine versucht, eine Java-Klasse aus einer Datei zu lesen und erkennt, dass der Inhalt der Datei nicht einem gültigen Format für die Klasse entspricht.

java.lang.Error

Fehler. Ist die Basisklasse für alle Fehler und wird verwendet, um schwerwiegende Probleme beim Programmbetrieb zu identifizieren. Diese Probleme beschreiben normalerweise eine ungewöhnliche Situation, die von der Anwendung nicht erkannt werden sollte.

java.lang.ExceptionInInitializerError

Initialisatorfehler. Wird ausgelöst, wenn während der Ausführung des statischen Initialisierers einer Klasse eine Ausnahme auftritt. Der statische Initialisierer bezieht sich auf das statische Anweisungssegment, das direkt in der Klasse enthalten ist.

java.lang.IllegalAccessError

Unzulässiger Zugriffsfehler. Diese Ausnahme wird ausgelöst, wenn eine Anwendung versucht, auf ein Feld (Field) einer Klasse zuzugreifen oder es zu ändern oder ihre Methode aufzurufen, aber die Sichtbarkeitsdeklaration des Felds oder der Methode verletzt.

java.lang.InkompatibleClassChangeError

Inkompatibler Klassenänderungsfehler. Diese Ausnahme wird ausgelöst, wenn eine inkompatible Änderung in der Klassendefinition auftritt, von der die ausgeführte Methode abhängt. Im Allgemeinen wird dieser Fehler leicht verursacht, wenn die Deklarationsdefinition einiger Klassen in der Anwendung geändert wird, ohne die gesamte Anwendung neu zu kompilieren und sie dann direkt auszuführen.

java.lang.InstantiationError

Instantiierungsfehler. Diese Ausnahme wird ausgelöst, wenn eine Anwendung versucht, eine abstrakte Klasse oder Schnittstelle über den neuen Operator

java.lang.InternalError

Interner Fehler zu erstellen. Wird verwendet, um anzuzeigen, dass in der Java Virtual Machine ein interner Fehler aufgetreten ist.

java.lang.LinkageError

Linkfehler. Dieser Fehler und alle seine Unterklassen weisen darauf hin, dass eine Klasse von anderen Klassen abhängt. Nachdem die Klasse kompiliert wurde, ändert die abhängige Klasse ihre Klassendefinition, ohne alle Klassen neu zu kompilieren, was den Fehlerzustand verursacht.

java.lang.NoClassDefFoundError

Fehler „Klassendefinition nicht gefunden“. Dieser Fehler wird ausgelöst, wenn die Java Virtual Machine oder der Klassenlader versucht, eine Klasse zu instanziieren, und die Definition der Klasse nicht finden kann.

java.lang.NoSuchFieldError

Feld existiert nicht, Fehler. Dieser Fehler wird ausgelöst, wenn eine Anwendung versucht, auf ein Feld einer Klasse zuzugreifen oder dieses zu ändern, für die es keine Definition für dieses Feld gibt.

java.lang.NoSuchMethodError

In der Methode liegt kein Fehler vor. Dieser Fehler wird ausgelöst, wenn die Anwendung versucht, eine Methode einer Klasse aufzurufen, die keine Definition für die Methode hat.

java.lang.OutOfMemoryError

Fehler wegen nicht genügend Speicher. Dieser Fehler wird ausgelöst, wenn der verfügbare Speicher nicht ausreicht, damit die Java Virtual Machine ein Objekt zuweisen kann.

java.lang.StackOverflowError

Stapelüberlauffehler. Dieser Fehler wird ausgelöst, wenn eine Anwendung zu viele rekursive Aufrufe durchführt und einen Stapelüberlauf verursacht.

java.lang.ThreadDeath

Der Thread endet. Dieser Fehler wird ausgelöst, wenn die Stop-Methode der Thread-Klasse aufgerufen wird, um das Ende des Threads anzuzeigen.

java.lang.UnknownError

Unbekannter Fehler. Wird verwendet, um anzuzeigen, dass in der Java Virtual Machine ein unbekannter schwerwiegender Fehler aufgetreten ist.

java.lang.UnsatisfiedLinkError

Unsatisfied-Link-Fehler. Wird ausgelöst, wenn die Java Virtual Machine keine native Sprachdefinition einer Klasse findet, die eine native Methode deklariert.

java.lang.UnsupportedClassVersionError

Fehler bei der nicht unterstützten Klassenversion. Dieser Fehler wird ausgegeben, wenn die Java Virtual Machine versucht, eine bestimmte Klassendatei zu lesen, dabei jedoch feststellt, dass die Haupt- und Nebenversionsnummern der Datei von der aktuellen Java Virtual Machine nicht unterstützt werden.

java.lang.VerifyError

Überprüfungsfehler. Dieser Fehler wird ausgegeben, wenn der Validator eine interne Inkompatibilität oder ein Sicherheitsproblem in einer Klassendatei erkennt.

java.lang.VirtualMachineError

Fehler der virtuellen Maschine. Wird verwendet, um eine Situation anzuzeigen, in der eine virtuelle Maschine zerstört wurde oder nicht über ausreichende Ressourcen verfügt, um den Betrieb fortzusetzen.

java.lang.ArithmeticException

Arithmetische Bedingungsausnahme. Zum Beispiel: Ganzzahldivision durch Null usw.

java.lang.ArrayIndexOutOfBoundsException

Array-Index-Ausnahme außerhalb der Grenzen. Wird ausgelöst, wenn der Index im Array negativ oder größer oder gleich der Arraygröße ist.

java.lang.ArrayStoreException

Array-Speicherausnahme. Wird ausgelöst, wenn ein Objekt eines nicht als Array deklarierten Typs in einem Array gespeichert wird.

java.lang.ClassCastException

Klassenumwandlungsausnahme. Angenommen, es gibt die Klassen A und B (A ist nicht die übergeordnete Klasse oder Unterklasse von B) und O ist eine Instanz von A. Dann wird diese Ausnahme ausgelöst, wenn O gezwungen wird, als Instanz von Klasse B konstruiert zu werden. Diese Ausnahme wird oft als Cast-Ausnahme bezeichnet.

java.lang.ClassNotFoundException

Ausnahme „Klasse nicht gefunden“. Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, eine Klasse basierend auf einem Klassennamen in Zeichenfolgenform zu erstellen, aber nach dem Durchlaufen von CLASSPAH die Klassendatei mit dem entsprechenden Namen nicht finden kann.

java.lang.CloneNotSupportedException

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

java.lang.EnumConstantNotPresentException

Es gibt keine Ausnahme in der Enumerationskonstante. Diese Ausnahme wird ausgelöst, wenn eine Anwendung versucht, über den Namen und den Aufzählungstyp auf ein Aufzählungsobjekt zuzugreifen, das Aufzählungsobjekt jedoch keine Konstante enthält.

java.lang.Exception

Root-Ausnahme. Wird verwendet, um die Situation zu beschreiben, die die Anwendung erfassen möchte.

java.lang.IllegalAccessException

Unzulässige Zugriffsausnahme. Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, eine Instanz einer Klasse zu erstellen, auf die Klasseneigenschaften zuzugreifen oder die Klassenmethode durch Reflektion aufzurufen, und auf die Definition der Klasse, des Attributs, der Methode oder des Konstruktors zu diesem Zeitpunkt nicht zugegriffen werden kann.

java.lang.IllegalMonitorStateException

Der illegale Überwachungsstatus ist abnormal. Diese Ausnahme wird ausgelöst, wenn ein Thread versucht, auf den Monitor eines Objekts (O) zu warten, das ihm nicht gehört, oder andere Threads benachrichtigt, auf den Monitor des Objekts (O) zu warten.

java.lang.IllegalStateException

Unzulässige Statusausnahme. Diese Ausnahme wird ausgelöst, wenn eine Methode in der Java-Umgebung und -Anwendung aufgerufen wird, bevor sie sich in einem zulässigen Aufrufzustand befindet.

java.lang.IllegalThreadStateException

Unzulässige Thread-Statusausnahme. Wenn sich der Landkreis nicht im legalen Aufrufstatus einer bestimmten Methode befindet und die Methode aufgerufen wird, wird eine Ausnahme ausgelöst.

java.lang.IndexOutOfBoundsException

Index-Out-of-Bounds-Ausnahme. Diese Ausnahme wird ausgelöst, wenn der Indexwert einer Sequenz kleiner als 0 oder größer oder gleich der Sequenzgröße ist.

java.lang.InstantiationException

Instantiierungsausnahme. Diese Ausnahme wird ausgelöst, wenn versucht wird, eine Instanz einer Klasse über die Methode newInstance() zu erstellen, und die Klasse eine abstrakte Klasse oder Schnittstelle ist.

java.lang.InterruptedException

Unterbrochene Ausnahme. Diese Ausnahme wird ausgelöst, wenn ein Thread längere Zeit wartet, schläft oder anderweitig angehalten wird und andere Threads den Thread über die Interrupt-Methode von Thread beenden.

Das obige ist der detaillierte Inhalt vonWas sind die Ausnahmen 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