Java >> Tutoriel Java >  >> Tag >> char

Différence entre erreur et exception avec tableau de comparaison

En Java, java.lang.Exception et java.lang.Error appartiennent à la classe java.lang.Throwable. Cependant, il existe des différences fondamentales entre ces deux sous-classes. Alors que les erreurs sont représentées par la classe java.lang.Error, en particulier celles attribuées à l'environnement d'exécution de l'application, la classe java.lang.Exception considère les exceptions attribuées à l'application elle-même. Dans cet article, nous discuterons des définitions et des fonctionnalités d'erreur et d'exception en Java, de la différence entre exception et erreur, etc. Lisez la suite pour commencer par un tableau comparatif présentant les principales différences entre erreur et exception en Java.

Erreur vs Exception

Base de différenciation

Erreur

Exception

Tapez

Les erreurs représentant Java sont du type java.lang.Error.

Les exceptions représentées par Java sont du type java.lang.Exception.

Coché ou décoché

Les erreurs trouvées en java sont du type non vérifié.

Les exceptions trouvées dans Java sont des deux types - décochées et cochées.

Temps

En Java, les erreurs se produisent au moment de l'exécution. Ces erreurs ne peuvent pas être trouvées par le compilateur.

Les exceptions vérifiées en Java sont connues du compilateur. Cependant, le compilateur ne dispose d'aucune information sur les exceptions non contrôlées car elles se produisent au moment de l'exécution.

Possibilité de récupération

Il n'est pas possible pour les programmes Java de récupérer des erreurs.

Une bonne gestion à l'aide de blocs try-catch peut aider les programmes à récupérer des exceptions en Java.

Causé par

Les erreurs sont principalement attribuées à l'environnement d'exécution d'une application.

L'application elle-même est la principale cause d'exceptions.

Exemples

java.lang.OutOfMemoryError et java.lang.StackOverflowError

Les exceptions vérifiées peuvent être trouvées comme IOException, SQLException, etc.
Les exemples d'exceptions non contrôlées sont ArrayIndexOutOfBoundException, NullPointerException, ClassCastException, etc.

Qu'est-ce qu'une erreur en JAVA

Une erreur en Java indique généralement un problème grave qui peut être fatal, et il est préférable pour une application raisonnable de ne pas tenter de l'attraper. C'est une sous-classe appartenant à la classe java.lang.Throwable en Java. Comme les erreurs concernent des conditions impossibles à récupérer via les techniques de traitement habituelles, l'arrêt anormal d'un programme/d'une application constitue la seule issue. Les erreurs dans la catégorie de type non cochée se trouvent principalement au moment de l'exécution. Les exemples frappants d'erreurs en Java sont l'erreur de mémoire insuffisante, l'erreur de plantage du système, etc.

Qu'est-ce qu'une exception en JAVA

Les exceptions en Java sont des événements qui se produisent au moment de l'exécution du programme. Une fois qu'ils ont lieu, le flux normal des instructions associées est interrompu sous la forme d'un "accès au tableau hors limite" , "diviser par zéro" , etc. venant au premier plan en tant qu'exceptions. Une exception en Java concerne un objet encapsulant un événement d'erreur qui se produit dans une méthode ; il contient généralement les éléments suivants :

1) Informations relatives à l'erreur avec son type

2) Autres informations personnalisées

3) L'état de l'application/du programme au moment de l'erreur, etc.

Les objets Exception peuvent être lancés et attrapés. Ils sont utiles pour indiquer les différents types de conditions d'erreur. Quelques exemples d'exceptions sont FileNotFoundException, SocketTimeoutException, IOException, ArrayIndexOutOfBoundsException, NullPointerException, ArithmeticException, etc.

Différence clé entre l'exception et l'erreur

Les principales différences entre les exceptions et les erreurs en Java sont énumérées ci-dessous :

1) La récupération à partir d'erreurs est impossible dans les programmes Java. La seule façon de gérer une erreur est de mettre fin à l'exécution de l'application. D'un autre côté, il est possible pour une application de récupérer d'une exception en renvoyant l'exception à l'appelant, ou via des blocs try-catch.

2) Les erreurs en Java ne peuvent pas être gérées à l'aide de blocs try-catch. Même si les blocs try-catch sont utilisés à cette fin, l'application ne pourra pas récupérer. Inversement, une fois que les blocs try-catch sont utilisés pour gérer les exceptions, le programme commence à se dérouler normalement une fois qu'elles se produisent.

3) Les erreurs en Java sont indivises et appartiennent à une catégorie singulière - cochées. D'un autre côté, il existe deux catégories d'exceptions en Java :cochées et non cochées.

4) Comme les sous-classes de RunTimeException et Errors en Java sont susceptibles de se produire pendant l'exécution, le compilateur n'a aucune connaissance de leur existence.
Par conséquent, les exceptions et les erreurs non contrôlées sont susceptibles de passer inaperçues du compilateur. D'autre part, les informations sur les exceptions vérifiées sont présentes avec le compilateur Java. À son tour, le compilateur force l'utilisateur à implémenter des blocs try-catch sur les lignes susceptibles de lever des exceptions vérifiées.

Conclusion

Erreur et exception sont les deux sous-classes de la classe Throwable. Indépendamment de cela, dans la plupart des cas, une erreur est renvoyée par la JVM. Le scénario créé est fatal car l'application ou le programme ne pourra pas récupérer de cette erreur, par ex. Erreur de mémoire insuffisante . Une Exception cochée vient à la connaissance du compilateur Java et peut être manipulée. Si vous avez d'autres questions concernant les différences entre la gestion des erreurs et des exceptions en Java, contactez-nous dans la section Commentaires ci-dessous. Nous apporterons des réponses à vos préoccupations dans les plus brefs délais.


No
Balise Java