hiérarchie des classes d'exception : Throwable < Erreur < Exception où le Throwable est la superclasse
La classe Throwable est la superclasse de toutes les erreurs et exceptions du langage Java. Seuls les objets qui sont des instances de cette classe (ou de l'une de ses sous-classes) sont lancés par la machine virtuelle Java ou peuvent être lancés par l'instruction Java throw. référence
En pratique, Throwable n'est généralement pas utilisé directement par les développeurs. Au lieu de cela, il sert de base à ses deux sous-classes directes : Erreur et Exception.
1 2 3 4 5 |
|
Une erreur est une sous-classe de Throwable qui indique des problèmes graves qu'une application raisonnable ne devrait pas essayer de détecter. Les erreurs représentent généralement des conditions anormales qui se produisent dans la référence JVM elle-même
Une condition anormale signifie que le problème provient généralement de facteurs indépendants de la volonté de l'application et est généralement irrécupérable. Ex : OutOfMemoryError, StackOverflowError
L'exception fait référence à un événement ou à une condition inattendue qui se produit lors de l'exécution d'un programme, et nous devrions essayer de catch. En détectant les exceptions, nous devrions être en mesure de gérer les situations inattendues avec élégance, en garantissant que le programme ne plante pas.
1 2 3 4 5 6 |
|
Il existe 2 types d’exceptions en Java. référence
L'exception vérifiée est comme une situation dont vous savez qu'elle pourrait mal tourner, vous devez donc la planifier. Ils doivent soit être interceptés à l'aide d'un bloc try-catch, soit être déclarés dans la signature de la méthode avec une clause throws. Si une méthode peut lever une exception vérifiée et que vous ne la gérez pas, le programme ne compilera pas.
1 2 3 4 5 6 |
|
1 2 3 4 |
|
Exceptions non vérifiées, alias. les exceptions d'exécution sont des exceptions que le compilateur Java ne nécessite pas que vous gériez. Ce sont des sous-classes de RuntimeException. Contrairement aux exceptions vérifiées, ces exceptions n'ont pas besoin d'être interceptées ou déclarées dans la signature de la méthode. Ils indiquent généralement des erreurs de programmation, telles que des défauts logiques, une utilisation incorrecte des API ou des violations des hypothèses du code.
1 2 |
|
NullPointerException : se produit lorsqu'une application tente d'utiliser une référence d'objet qui n'a pas été initialisée.
1 2 3 4 5 6 |
|
ArrayIndexOutOfBoundsException : levée lors d'une tentative d'accès à un tableau avec un index illégal.
1 2 3 4 5 6 |
|
IllegalArgumentException : levée lorsqu'une méthode reçoit un argument inapproprié.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Utilisez try-catch lorsque vous souhaitez gérer des exceptions spécifiques qui pourraient être générées dans un bloc de code
1 2 3 4 5 |
|
Utilisez multi-catch lorsque vous souhaitez gérer plusieurs types d'exceptions de la même manière
1 2 3 4 5 6 |
|
Utilisez try-with-resources lorsque vous travaillez avec des ressources qui doivent être fermées après utilisation, telles que des fichiers, des sockets ou des connexions à une base de données.
1 2 3 4 5 6 7 8 |
|
Utilisez le bloc enfin lorsque vous devez vous assurer que certains codes s'exécutent, qu'une exception ait été levée ou non
1 2 3 4 5 6 7 8 9 |
|
Ne pas ignorer les exceptions : les exceptions doivent être traitées de manière appropriée, pas seulement détectées et ignorées.
1 2 3 4 5 |
|
Utiliser des exceptions spécifiques : utilisez des exceptions spécifiques plutôt que des exceptions génériques.
1 2 3 4 5 6 7 8 |
|
bonne façon de le gérer :
1 2 3 4 5 6 7 8 9 10 11 |
|
Manipulation propre des ressources : fermez toujours les ressources pour éviter les fuites de mémoire
1 2 3 4 5 6 7 8 9 |
|
Exceptions personnalisées : créez des exceptions personnalisées lorsque les exceptions standard ne correspondent pas aux conditions d'erreur spécifiques.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
Journalisation : journaliser les exceptions pour le débogage et la maintenance.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Évitez l'utilisation excessive des exceptions : mettez en garde contre l'utilisation d'exceptions pour contrôler le flux ; ils ne doivent être utilisés que pour gérer des situations vraiment exceptionnelles.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
bonne façon de le gérer :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|