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: ArithmeticExecptionNullzeiger-Ausnahmeklasse: NullPointerExceptionTypumwandlungsausnahme: ClassCastExceptionArray-Negativ-Index-Ausnahme: NegativeArrayExceptionAusnahme „Array-Index außerhalb der Grenzen“: ArrayIndexOutOfBoundsExceptionAusnahme „Verstoß gegen Sicherheitsprinzipien“: SecurityExceptionAusnahme „Datei beendet“: EOFExceptionAusnahme „Datei nicht gefunden“: FileNotFoundExceptionAusnahme bei der Konvertierung von Zeichenfolgen in Zahlen: NumberFormatExceptionAusnahme bei der Operationsdatenbank: SQLExceptionEingabe- und Ausgabeausnahme: IOExceptionAusnahme bei der Methode nicht gefunden: NoSuchMethodExceptionjava.lang.AbstractMethodErrorFehler bei der abstrakten Methode. Wird ausgelöst, wenn die Anwendung versucht, eine abstrakte Methode aufzurufen. java.lang.AssertionErrorAssertionsfehler. Wird verwendet, um einen Behauptungsfehler anzuzeigen. java.lang.ClassCircularityErrorFehler 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.ClassFormatErrorKlassenformatfehler. 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!