dernière mise à jour le 29 août 2020 par Scientech Easy
dans ce tutoriel, nous allons apprendre la hiérarchie des exceptions en Java avec descriptions.
dans le tutoriel précédent, nous avons expliqué les points de base de la gestion des exceptions en Java, exception handler avec des exemples en temps réel. Je vous recommanderai de vous familiariser d’abord avec les points de base.,
Types of Exceptions in Java
Basically, there are two types of exceptions in java API. They are:
1. Predefined Exceptions (Built-in-Exceptions)
2. Custom Exceptions
Predefined Exceptions:
Predefined exceptions are those exceptions that are already defined by Java system. These exceptions are also called built-in-exceptions.
Java API supports exception handling by providing the number of predefined exceptions. These predefined exceptions are represented by classes in java.,
Lorsqu’une exception prédéfinie se produit, JVM (Java runtime system) crée un objet de classe d’exception prédéfinie. Toutes les exceptions sont dérivées de java.lang.Classe Throwable mais toutes les classes d’exception ne sont pas définies dans le même package.
Toutes les exceptions prédéfinies prises en charge par java sont organisées en sous-classes dans une hiérarchie sous la classe Throwable.
la classe Throwable est la racine de la hiérarchie des exceptions et est une sous-classe immédiate de la classe Object. Jetons un coup d’œil à la hiérarchie des exceptions java, comme indiqué dans la figure ci-dessous.
1., Classe Throwable: comme indiqué dans la figure ci-dessus, la classe Throwable qui est dérivée de la classe Object est un sommet de la hiérarchie des exceptions à partir duquel toutes les classes d’exceptions sont dérivées directement ou indirectement. C’est la racine de toutes les classes d’exception. Il est présent en java.paquet lang.
la classe Throwable est la super-classe de toutes les exceptions en java. Cette classe A deux sous-classes: Error et Exception. Les erreurs ou exceptions survenant dans les programmes java sont des objets de ces classes. En utilisant la classe Throwable, vous pouvez également créer vos propres exceptions personnalisées.
2., Error: Error class est la sous-classe de la classe Throwable et une superclasse de toutes les classes d’erreur d’exécution. Il termine le programme s’il y a un problème lié à un système ou à des ressources (JVM).
Une erreur représente généralement un problème ou une situation inhabituelle dont il est difficile de se remettre. Cela ne se produit pas par des erreurs de programmeur. Il se produit généralement si le système ne fonctionne pas correctement ou la ressource n’est pas correctement allouées.
VirtualMachineError, StackOverFlowError, AssertionError, LinkageError, OutOfMmeoryError, etc. sont des exemples d’erreur., Nous en apprendrons plus en détail dans d’autres tutoriels.
3. Exception: elle est représentée par une classe D’Exception qui représente les erreurs causées par le programme et par des facteurs externes. La classe Exception est une sous-classe de la classe Throwable et une superclasse de toutes les classes exception. Toutes les classes d’exception sont dérivées directement ou indirectement de la classe D’Exception. Ils proviennent généralement de l’intérieur de l’application.,
la classe exception fournit deux constructeurs:
- public Exception() (constructeur par défaut)
- public Exception(String message) (elle prend une chaîne de message comme argument)
chacune des classes exception fournit deux constructeurs: un sans argument et un autre avec un argument de type chaîne. La classe Exception ne fournit pas sa propre méthode. Il hérite de toutes les méthodes fournies par la classe Throwable.,
hiérarchie des classes D’Exception en Java
la hiérarchie des classes d’exception en Java a été montrée dans la figure ci-dessous, ce qui est très important pour un entretien.
Personnalisé Exceptions:
Personnalisé exceptions sont les exceptions qui sont créés par les utilisateurs ou les programmeurs en fonction de leurs propres besoins. Les exceptions personnalisées sont également appelées exceptions définies par l’utilisateur qui sont créées en étendant la classe exception.,
ainsi, Java offre la liberté aux programmeurs de lancer et de gérer des exceptions tout en traitant les exigences fonctionnelles des problèmes qu’ils résolvent. Nous discuterons plus en détail des exceptions personnalisées dans d’autres tutoriels.
voyons la brève description de chaque sous-classe de la classe Exception.
Classe RuntimeException (Exceptions non cochées)
La classe RuntimeException est une sous-classe de la classe Exception. Il est lancé par JVM ou par programme lorsqu’une opération arithmétique effectuée dans le programme est incorrecte ou qu’un défaut/bug se produit dans le code du programme.,
RuntimeException et toutes ses sous-classes d’exception ne sont pas vérifiées par le compilateur Java car elles se produisent pendant l’exécution d’un programme. C’est pourquoi ces exceptions sont également appelées exceptions non contrôlées.
La classe RuntimeException se compose de nombreuses autres sous-classes d’exception qui sont utilisées pour gérer un type d’exception spécifique. En dehors de ces sous-classes d’exception de la classe RuntimeException illustrée dans la figure ci-dessus, il existe également d’autres sous-classes de la classe RuntimeException qui n’ont pas été affichées dans le diagramme de structure de hiérarchie pour éviter la complexité.,
voyons une brève description d’entre eux.
1. ArithmeticException: cette exception est levée lorsque des problèmes arithmétiques, tels qu’un nombre est divisé par zéro, se produisent. Autrement dit, il est causé par une erreur mathématique.
2. ClassCastException: la ClassCastException est une exception d’exécution qui est levée par la JVM lorsque nous tentons de lancer un typecasting non valide dans le programme. C’est-à-dire qu’il est lancé lorsque nous projetons un objet dans une sous-classe dont un objet n’est pas une instance.
3., IllegalArgumentException: cette exception d’exécution est levée par programmation lorsqu’un argument illégal ou approprié est passé pour appeler une méthode. Cette classe d’exception a deux autres sous-classes:
- NumberFormatException
- IllegalThreadStateException
NumericFormatException: NumberFormatException est lancé par programmation lorsque nous essayons de convertir une chaîne en type numérique et que le processus de conversion illégale échoue. Autrement dit, cela se produit en raison de la conversion illégale d’une chaîne en un format numérique.,
IllegalThreadStateException: IllegalThreadStateException exception est une exception d’exécution qui est levée par programmation lorsque nous tentons d’effectuer une opération sur un thread mais elle est incompatible avec l’état actuel du thread.
4. IndexOutOfBoundsException: cette classe d’exception est levée par JVM lorsqu’un tableau ou une chaîne sort de l’index spécifié., It has two further subclasses:
- ArrayIndexOutOfBoundsException
- StringIndexOutOfBoundsException
ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException exception is thrown when an array element is accessed out of the index.
StringIndexOutOfBoundsException: StringIndexOutOfBoundsException exception is thrown when a String or StringBuffer element is accessed out of the index.
5., NullPointerException: NullPointerException est une exception d’exécution qui est levée par la JVM lorsque nous essayons d’utiliser null au lieu d’un objet. Autrement dit, il est lancé lorsque la référence est nulle.
6. ArrayStoreException: cette exception se produit lorsque nous essayons de stocker une valeur dans un tableau qui n’est pas de type tableau. Par exemple, supposons qu’un tableau soit de type entier mais que nous essayions de stocker une valeur d’un élément d’un autre type.
7., IllegalStateException: L’exception IllegalStateException est levée par programmation lorsque l’environnement d’exécution n’est pas dans un état approprié pour appeler une méthode.
8. IllegalMonitorStateException: cette exception est levée lorsqu’un thread n’a pas le droit de surveiller un objet et tente d’accéder aux méthodes wait(), notify () et notifyAll() de l’objet.
9. NegativeArraySizeException: L’exception NegativeArraySizeException est levée lorsqu’un tableau est créé avec une taille négative.,
liste des Exceptions vérifiées en Java
maintenant, nous avons répertorié les exceptions vérifiées dans une brève description.
1. ClassNotFoundException: la ClassNotFoundException est une sorte d’exception vérifiée qui est levée lorsque nous essayons d’utiliser une classe qui n’existe pas.
Les exceptions vérifiées sont les exceptions qui sont vérifiées par le compilateur Java lui-même.
2. FileNotFoundException: L’exception FileNotFoundException est une exception vérifiée qui est levée lorsque nous tentons d’accéder à un fichier non existant.
3., InterruptedException: InterruptedException est une exception vérifiée qui est levée lorsqu’un thread est en état de veille ou d’attente et qu’un autre thread tente de l’interrompre.
4. InstantiationException: cette exception est également une exception vérifiée qui est levée lorsque nous essayons de créer un objet de classe abstraite ou d’interface. C’est-à-dire que L’exception InstantiationException se produit lorsqu’une classe abstraite ou une interface est instanciée.
5., IllegalAccessException: L’IllegalAccessException est une exception vérifiée et elle est levée lorsqu’une méthode est appelée dans une autre méthode ou classe mais que la méthode ou la classe appelante n’a pas l’autorisation d’accéder à cette méthode.
6. CloneNotSupportedException: cette exception vérifiée est levée lorsque nous essayons de cloner un objet sans implémenter l’interface cloneable.
7. NoSuchFieldException: il s’agit d’une exception vérifiée qui est levée lorsqu’une variable inconnue est utilisée dans un programme.
8., NoSuchMethodException: cette exception vérifiée est levée lorsque la méthode undefined est utilisée dans un programme.
espérons que ce tutoriel a couvert presque tous les points de base liés à la hiérarchie des exceptions en java. J’espère que vous aurez compris les points de base de la classe Throwable et de ses sous-classes: Exception et erreur.
points clés à retenir:
- deux types d’exceptions en Java: les exceptions prédéfinies et personnalisées.
- La classe racine de toutes les exceptions dans la hiérarchie des classes d’exception est java.lang.Throwable.,
- Exception classes are mainly divided into three types: system errors, exceptions, and runtime exceptions.
- System errors are represented by Error class and thrown by JVM.
- Exceptions are represented by Exception classes that describe errors in your program.
Thanks for reading!!!
Next ⇒ Checked and Unchecked Exception in Java⇐ PrevNext ⇒