Heim >Java >javaLernprogramm >Erläuterung der Probleme mit Java-Klassifizierungsausnahmen
Fehler: Fehler, erfordert normalerweise keine Programmiererverwaltung, bezieht sich im Allgemeinen auf unzureichenden Speicher usw.
Ausnahme: Ausnahme
Je nach Ausführungszeitpunkt ist sie unterteilt in:
Laufzeitausnahme: RuntimeException: Ausnahme, die nur beim Ausführen auftritt.
Nicht-Laufzeit-Ausnahmen:
Unterteilt danach, ob es sicher ist oder nicht:
Überprüfte Ausnahmen: Dateiöffnungsausnahmen, Dateioperationsausnahmen, Datenbankoperationsausnahmen usw.
Ungeprüfte Ausnahmen: Programmierer achten nicht darauf, zu überprüfen, ob zu den resultierenden Ausnahmen Ausnahmen für Index außerhalb der Grenzen, Nullzeiger-Ausnahmen und Typkonvertierungsausnahmen gehören.
Verarbeitungsmethoden:
Zwei Methoden: Schlüsselwortverarbeitung wie try
werfen und Schlüsselwortverarbeitung werfen
Prinzip: Die untere Schicht sollte Ausnahmen auslösen, die Oberflächenschicht ist in Geschäftssprache umgewandelt, um Benutzer daran zu erinnern.
Die Ausnahmebehandlung im Projekt sollte benutzerspezifisch sein.
Geschäftsausnahme: Anomalie, die im Unternehmen auftritt.
Benutzerdefinierte Ausnahme: Kapselt Geschäftsausnahmen sowie den Ort und die Ursache der Ausnahme.
Java-Ausnahme:
1. Laufzeitausnahme
4. Benutzerdefinierte Ausnahme auslösen
ist in zwei Typen unterteilt: Die Error-Klasse stellt Kompilierungs- und Systemfehler dar und erlaubt keine Erfassung; die Exception-Klasse stellt Ausnahmen dar, die durch Standardmethoden der Java-Bibliothek ausgelöst werden. Die Exception-Klasse enthält außerdem zwei direkte Unterklassen: Runtime_Exception und Non_RuntimeException.
Die laufende Ausnahmeklasse entspricht Kompilierungsfehlern, die sich auf verschiedene Ausnahmen beziehen, die vom Interpreter generiert werden, wenn ein Java-Programm ausgeführt wird. Laufende Ausnahmen können überall auftreten und treten sehr häufig auf. Um einen enormen Overhead der Systemressourcen zu vermeiden, prüft der Compiler daher nicht auf Ausnahmen. Daher werden Laufzeitausnahmen in der Java-Sprache möglicherweise nicht unbedingt abgefangen. Operationsfehler deuten häufig auf Fehler im Code hin, z. B. arithmetische Ausnahmen (z. B. Division durch 0), Indexausnahmen (z. B. Array außerhalb der Grenzen) usw.
Nicht-Laufzeitausnahmen sind Instanzen der Non_RuntimeException-Klasse und ihrer Unterklassen, auch bekannt als erkennbare Ausnahmen. Der Java-Compiler verwendet die möglichen Ergebnisse in der Analysemethode oder Konstruktionsmethode, um zu erkennen, ob das Java-Programm einen Handler zum Erkennen von Ausnahmen enthält. Für jede mögliche erkennbare Ausnahme muss die throws-Klausel der Methode oder Konstruktionsmethode die entsprechende Ausnahmeklasse auflisten. Die in den Java-Standardpaketen java.lang, java.util und java.net definierten Ausnahmen sind nicht laufende Ausnahmen.
ArithmeticException-Klasse: ArithmeticExecption
Nullzeiger-Ausnahmeklasse: NullPointerException
Typumwandlungsausnahme: ClassCastException
Array negative Standardausnahme: NegativeArrayException
Array-Index außerhalb der Grenzen Ausnahme: ArrayIndexOutOfBoundsException
Verstoß gegen Sicherheitsprinzipien Ausnahme: SecurityException
Datei beendet Ausnahme: EOFException
Datei nicht gefunden Ausnahme: FileNotFoundException
Ausnahme bei der Konvertierung von Zeichenfolgen in Zahlen: NumberFormatException
Ausnahme bei Betriebsdatenbank: SQLException
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
Klassenzirkelabhängigkeitsfehler. 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, wodurch der Fehlerzustand verursacht wird.
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
Fehler „Feld existiert nicht“. Dieser Fehler wird ausgelöst, wenn eine Anwendung versucht, auf ein Feld einer Klasse zuzugreifen oder es 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 tiefe 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 Klassenmethoden 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
Unzulässige Überwachungsstatusausnahme. 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.
java.lang.NegativeArraySizeException
Die Arraygröße ist negativ. Diese Ausnahme wird ausgelöst, wenn ein Array mit einem negativen Größenwert erstellt wird.
java.lang.NoSuchFieldException
Es gibt keine Ausnahme im Attribut. Diese Ausnahme wird beim Zugriff auf eine nicht vorhandene Eigenschaft einer Klasse ausgelöst.
java.lang.NoSuchMethodException
Es gibt keine Ausnahme in der Methode. Diese Ausnahme wird beim Zugriff auf eine nicht vorhandene Methode einer Klasse ausgelöst.
java.lang.NullPointerException
Nullzeiger-Ausnahme. Diese Ausnahme wird ausgelöst, wenn die Anwendung versucht, null zu verwenden, wenn ein Objekt erforderlich ist. Zum Beispiel: Aufrufen der Instanzmethode des Nullobjekts, Zugriff auf die Eigenschaften des Nullobjekts, Berechnen der Länge des Nullobjekts, Verwenden der Throw-Anweisung zum Auslösen von Null usw.
java.lang.NumberFormatException
Ausnahme beim Zahlenformat. Diese Ausnahme wird ausgelöst, wenn versucht wird, einen String in einen angegebenen numerischen Typ zu konvertieren, und der String nicht dem für den numerischen Typ erforderlichen Format entspricht.
java.lang.RuntimeException
Laufzeitausnahme. Ist die übergeordnete Klasse für alle Ausnahmen, die während des normalen Betriebs der Java Virtual Machine ausgelöst werden können.
java.lang.SecurityException
Sicherheitsausnahme. Vom Sicherheitsmanager ausgelöste Ausnahme, die auf eine Sicherheitsverletzung hinweist.
java.lang.StringIndexOutOfBoundsException
String-Index-Ausnahme außerhalb der Grenzen. Diese Ausnahme wird ausgelöst, wenn auf ein Zeichen in einer Zeichenfolge mit einem Indexwert zugegriffen wird, der kleiner als 0 oder größer oder gleich der Sequenzgröße ist.
java.lang.TypeNotPresentException
Es gibt keine Typausnahme. Diese Ausnahme wird ausgelöst, wenn eine Anwendung versucht, auf einen Typ als Zeichenfolgendarstellung des Typnamens zuzugreifen, der Typ jedoch anhand des angegebenen Namens nicht gefunden werden kann. Der Unterschied zwischen dieser Ausnahme und ClassNotFoundException besteht darin, dass diese Ausnahme eine ungeprüfte (ungeprüfte) Ausnahme ist, während ClassNotFoundException eine geprüfte (geprüfte) Ausnahme ist.
java.lang.UnsupportedOperationException
Nicht unterstützte Methodenausnahme. Ausnahme, die angibt, dass die angeforderte Methode nicht unterstützt wird.
Ausnahme
javax.servlet.jsp.JspException: Zuordnung für Aktion /Login kann nicht abgerufen werden (/Login ist Ihr Aktionsname)
Mögliche Gründe Das obige ist der detaillierte Inhalt vonErläuterung der Probleme mit Java-Klassifizierungsausnahmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Aktion ist nicht mehr definiert in config.xml, oder es wird keine passende Aktion gefunden, verwenden Sie beispielsweise