Maison  >  Article  >  Java  >  Explication des problèmes d'exception de classification Java

Explication des problèmes d'exception de classification Java

巴扎黑
巴扎黑original
2017-07-18 17:50:501280parcourir

Erreur : erreur, ne nécessite généralement pas de gestion par le programmeur, fait généralement référence à une mémoire insuffisante, etc.
Exception : exception

Selon le moment de l'exécution, elle est divisée en :
Exception d'exécution : RuntimeException : Exception qui ne se produit que lors de l'exécution.
Exceptions non-exécutables :

Divisées selon qu'elles sont sûres ou non :
Exceptions vérifiées : exceptions d'ouverture de fichier, exceptions d'opération de fichier, exceptions d'opération de base de données, etc.
Exceptions non vérifiées : les programmeurs ne font pas attention à vérifier, les exceptions résultantes incluent des exceptions hors limites d'indice, des exceptions de pointeur nul et des exceptions de conversion de type.


Méthodes de traitement :
Deux méthodes : traitement de mots-clés tel que try
throw et throws traitement de mots-clés

Principe : la couche inférieure doit lever des exceptions, la couche de surface est converti en langage commercial pour le rappeler aux utilisateurs.


La gestion des exceptions dans le projet doit être spécifique à l'utilisateur.
Exception commerciale : anomalie qui se produit dans l'entreprise.

Exception personnalisée : encapsule les exceptions commerciales ainsi que l'emplacement et la cause de l'exception.

Exception Java :

1. Erreur
2. Exception d'exécution
3. Exception
4. lancer une exception définie par l'utilisateur

La classe d'exception. est divisée en deux types : la classe Error représente les erreurs de compilation et système et ne permet pas la capture ; la classe Exception représente les exceptions déclenchées par les méthodes standard de la bibliothèque Java. La classe Exception contient également deux sous-classes directes : Runtime_Exception et Non_RuntimeException.

La classe d'exceptions en cours d'exécution correspond aux erreurs de compilation, qui font référence à diverses exceptions générées par l'interpréteur lors de l'exécution d'un programme Java. Les exceptions en cours d'exécution peuvent apparaître n'importe où et se produire très fréquemment. Ainsi, afin d'éviter une surcharge considérable des ressources système, le compilateur ne vérifie pas les exceptions. Par conséquent, les exceptions d'exécution dans le langage Java ne sont pas nécessairement détectées. Les erreurs d'opération indiquent souvent des erreurs dans le code, telles que des exceptions arithmétiques (telles que la division par 0), des exceptions d'indice (telles qu'un tableau hors limites), etc.

Les exceptions hors exécution sont des instances de la classe Non_RuntimeException et de ses sous-classes, également appelées exceptions détectables. Le compilateur Java utilise les résultats possibles de la méthode d'analyse ou de la méthode de construction pour détecter si le programme Java contient un gestionnaire de détection des exceptions. Pour chaque exception détectable possible, la clause throws de la méthode ou de la méthode de construction doit répertorier la classe d'exception correspondante. Les exceptions définies dans les packages standard Java java.lang java.util et java.net sont des exceptions non exécutées.

Classe ArithmeticException : ArithmeticExecption

Classe d'exception de pointeur nul : NullPointerException

Exception de conversion de type : ClassCastException

Exception standard de tableau négatif : NegativeArrayException

Exception hors limites de l'indice de tableau : ArrayIndexOutOfBoundsException

Exception de violation des principes de sécurité : SecurityException

Exception de fichier terminé : EOFException

Fichier introuvable Exception : FileNotFoundException

Exception de conversion de chaîne en nombre : NumberFormatException


Exception de base de données d'opération : SQLException


Exception d'entrée et de sortie : IOException


Exception de méthode introuvable : NoSuchMethodException

java.lang.AbstractMethodError

Erreur de méthode abstraite. Levé lorsque l'application tente d'appeler une méthode abstraite.

java.lang.AssertionError

Erreur d'assertion. Utilisé pour indiquer un échec d’assertion.

java.lang.ClassCircularityError

Erreur de dépendance circulaire de classe. Lors de l'initialisation d'une classe, cette exception est levée si une dépendance circulaire entre les classes est détectée.

java.lang.ClassFormatError

Erreur de format de classe. Lancée lorsque la machine virtuelle Java tente de lire une classe Java à partir d'un fichier et détecte que le contenu du fichier n'est pas conforme à un format valide pour la classe.

java.lang.Erreur

Erreur. Est la classe de base pour toutes les erreurs et est utilisée pour identifier les problèmes graves de fonctionnement du programme. Ces problèmes décrivent généralement une situation inhabituelle qui ne devrait pas être détectée par l'application.

java.lang.ExceptionInInitializerError

Erreur d'initialisation. Levée lorsqu'une exception se produit lors de l'exécution de l'initialiseur statique d'une classe. L'initialiseur statique fait référence au segment d'instruction statique directement inclus dans la classe.

java.lang.IllegalAccessError

Erreur d'accès illégal. Cette exception est levée lorsqu'une application tente d'accéder ou de modifier un champ (Field) d'une classe ou d'appeler sa méthode, mais viole la déclaration de visibilité du champ ou de la méthode.

java.lang.IncompatibleClassChangeError

Erreur de changement de classe incompatible. Cette exception est levée lorsqu'une modification incompatible se produit dans la définition de classe dont dépend la méthode en cours d'exécution. Généralement, cette erreur se produit facilement lorsque la définition de déclaration de certaines classes de l'application est modifiée sans recompiler l'intégralité de l'application, puis l'exécuter directement.

java.lang.InstantiationError

Erreur d'instanciation. Cette exception est levée lorsqu'une application tente de construire une classe ou une interface abstraite via le nouvel opérateur Java

java.lang.InternalError

Erreur interne. Utilisé pour indiquer qu'une erreur interne s'est produite dans la machine virtuelle Java.

java.lang.LinkageError

Erreur de lien. Cette erreur et toutes ses sous-classes indiquent qu'une classe dépend d'autres classes. Une fois la classe compilée, la classe dépendante modifie sa définition de classe sans recompiler toutes les classes, provoquant ainsi la condition d'erreur.

java.lang.NoClassDefFoundError

Erreur de définition de classe introuvable. Cette erreur est générée lorsque la machine virtuelle Java ou le chargeur de classe tente d'instancier une classe et ne parvient pas à trouver la définition de la classe.

java.lang.NoSuchFieldError

Erreur Le champ n'existe pas. Cette erreur est générée lorsqu'une application tente d'accéder ou de modifier un champ d'une classe qui n'a pas de définition pour ce champ.

java.lang.NoSuchMethodError

Aucune erreur n'existe dans la méthode. Cette erreur est générée lorsque l'application tente d'appeler une méthode d'une classe qui n'a pas de définition pour la méthode.

java.lang.OutOfMemoryError

Erreur de mémoire insuffisante. Cette erreur est générée lorsque la mémoire disponible est insuffisante pour que la machine virtuelle Java alloue un objet.

java.lang.StackOverflowError

Erreur de débordement de pile. Cette erreur est générée lorsqu'une application effectue trop d'appels récursifs et provoque un débordement de pile.

java.lang.ThreadDeath

Le fil de discussion se termine. Cette erreur est générée lorsque la méthode stop de la classe Thread est appelée pour indiquer la fin du thread.

java.lang.UnknownError

Erreur inconnue. Utilisé pour indiquer qu'une erreur grave inconnue s'est produite dans la machine virtuelle Java.

java.lang.UnsatisfiedLinkError

Erreur de lien insatisfait. Lancée lorsque la machine virtuelle Java ne trouve pas de définition en langage natif d'une classe qui déclare une méthode native.

java.lang.UnsupportedClassVersionError

Erreur de version de classe non prise en charge. Cette erreur est générée lorsque la machine virtuelle Java tente de lire un certain fichier de classe, mais constate que les numéros de version majeure et mineure du fichier ne sont pas pris en charge par la machine virtuelle Java actuelle.

java.lang.VerifyError

Erreur de vérification. Cette erreur est générée lorsque le validateur détecte une incompatibilité interne ou un problème de sécurité dans un fichier de classe.

java.lang.VirtualMachineError

Erreur de machine virtuelle. Utilisé pour indiquer une situation dans laquelle une machine virtuelle a été détruite ou ne dispose pas de ressources suffisantes pour poursuivre ses opérations.


java.lang.ArithmeticException

Exception de condition arithmétique. Par exemple : division entière par zéro, etc.

java.lang.ArrayIndexOutOfBoundsException

Exception d'index de tableau hors limites. Levé lorsque l'index du tableau est négatif ou supérieur ou égal à la taille du tableau.

java.lang.ArrayStoreException

Exception de stockage de tableau. Levé lorsqu'un objet de type déclaré non-tableau est stocké dans un tableau.

java.lang.ClassCastException

Exception de diffusion de classe. Supposons qu'il existe des classes A et B (A n'est pas la classe parent ou sous-classe de B) et que O est une instance de A, alors cette exception est levée lorsque O est forcé d'être construit en tant qu'instance de la classe B. Cette exception est souvent appelée exception de conversion.

java.lang.ClassNotFoundException

Exception de classe introuvable. Cette exception est levée lorsque l'application tente de construire une classe basée sur un nom de classe sous forme de chaîne, mais ne parvient pas à trouver le fichier de classe portant le nom correspondant après avoir parcouru CLASSPAH.

java.lang.CloneNotSupportedException

L'exception de clonage n'est pas prise en charge. Lorsque l'interface Cloneable n'est pas implémentée ou que la méthode clone n'est pas prise en charge, l'appel de sa méthode clone() lèvera cette exception.

java.lang.EnumConstantNotPresentException

Il n'y a aucune exception dans la constante d'énumération. Cette exception est levée lorsqu'une application tente d'accéder à un objet d'énumération par nom et type d'énumération, mais que l'objet d'énumération ne contient pas de constante.

java.lang.Exception

Exception racine. Utilisé pour décrire la situation que l'application souhaite capturer.

java.lang.IllegalAccessException

Exception d'accès illégal. Cette exception est levée lorsque l'application tente de créer une instance d'une classe, d'accéder aux propriétés de la classe ou d'appeler les méthodes de classe par réflexion, et que la définition de la classe, de la propriété, de la méthode ou du constructeur n'est pas accessible à ce moment-là.

java.lang.IllegalMonitorStateException

Exception d'état de surveillance illégale. Cette exception est levée lorsqu'un thread tente d'attendre le moniteur d'un objet (O) qu'il ne possède pas ou demande aux autres threads d'attendre le moniteur de l'objet (O).

java.lang.IllegalStateException

Exception d'état illégal. Cette exception est levée lorsque l'environnement et l'application Java ne sont pas dans un état d'appel légal d'une certaine méthode et que la méthode est appelée.

java.lang.IllegalThreadStateException

Exception d'état de thread illégal. Lorsque le comté n'est pas dans l'état d'appel légal d'une certaine méthode et que la méthode est appelée, une exception est levée.

java.lang.IndexOutOfBoundsException

Exception hors limites d'indexation. Cette exception est levée lorsque la valeur d'index d'une séquence est inférieure à 0 ou supérieure ou égale à la taille de la séquence.

java.lang.InstantiationException

Exception d'instanciation. Cette exception est levée lors de la tentative de création d'une instance d'une classe via la méthode newInstance(), et la classe est une classe ou une interface abstraite.

java.lang.InterruptedException

Exception interrompue. Cette exception est levée lorsqu'un thread est en attente, en veille ou suspendu pendant une longue période, et que d'autres threads mettent fin au thread via la méthode d'interruption de Thread.

java.lang.NegativeArraySizeException

La taille du tableau est négative. Cette exception est levée lorsqu'un tableau est créé avec une valeur de taille négative.

java.lang.NoSuchFieldException

Il n'y a aucune exception dans l'attribut. Cette exception est levée lors de l'accès à une propriété inexistante d'une classe.

java.lang.NoSuchMethodException

Il n'y a aucune exception dans la méthode. Cette exception est levée lors de l'accès à une méthode inexistante d'une classe.

java.lang.NullPointerException

Exception de pointeur nul. Cette exception est levée lorsque l'application tente d'utiliser null lorsqu'un objet est requis. Par exemple : appeler la méthode d'instance de l'objet nul, accéder aux propriétés de l'objet nul, calculer la longueur de l'objet nul, utiliser l'instruction throw pour lancer null, etc.

java.lang.NumberFormatException

Exception de format numérique. Cette exception est levée lorsqu'une tentative est effectuée pour convertir une chaîne en un type numérique spécifié et que la chaîne ne répond pas au format requis par le type numérique.

java.lang.RuntimeException

Exception d'exécution. Est la classe parent de toutes les exceptions pouvant être levées lors du fonctionnement normal de la machine virtuelle Java.

java.lang.SecurityException

Exception de sécurité. Exception levée par le responsable de la sécurité pour indiquer une violation de la sécurité.

java.lang.StringIndexOutOfBoundsException

Exception d'index de chaîne hors limites. Cette exception est levée lorsqu'un caractère d'une chaîne est accédé à l'aide d'une valeur d'index inférieure à 0 ou supérieure ou égale à la taille de la séquence.

java.lang.TypeNotPresentException

Il n'y a pas d'exception de type. Cette exception est levée lorsqu'une application tente d'accéder à un type sous la forme d'une représentation sous forme de chaîne du nom du type, mais que le type ne peut pas être trouvé en fonction du nom donné. La différence entre cette exception et ClassNotFoundException est que cette exception est une exception non vérifiée (non vérifiée), tandis que ClassNotFoundException est une exception vérifiée (cochée).

java.lang.UnsupportedOperationException

Exception de méthode non prise en charge. Exception indiquant que la méthode demandée n'est pas prise en charge.

Exception
javax.servlet.jsp.JspException : Impossible de récupérer le mappage pour l'action /Login (/Login est le nom de votre action)

Raisons possibles
l'action n'est plus définie dans config.xml, ou aucune action correspondante n'est trouvée, par exemple, utilisez


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn