Recommandé, 2024

Choix De L'Éditeur

Différence entre erreur et exception en Java

“Throwable” agit comme la racine de la hiérarchie des erreurs et des exceptions de Java. "Erreur" est une condition critique qui ne peut pas être traitée par le code du programme. "Exception" est la situation exceptionnelle qui peut être gérée par le code du programme. La différence significative entre erreur et exception est qu'une erreur est due à un manque de ressources système et une exception est due à votre code. Étudions d’autres différences entre erreur et exception avec un tableau comparatif.

Tableau de comparaison

Base de comparaisonErreurException
De baseUne erreur est due à un manque de ressources système.Une exception est provoquée à cause du code.
RécupérationUne erreur est irrécupérable.Une exception est récupérable.
Mots clésIl n'y a aucun moyen de gérer une erreur par le code du programme.Les exceptions sont gérées à l'aide de trois mots clés "try", "catch" et "throw".
Conséquences
Lorsque l'erreur est détectée, le programme se termine anormalement.Lorsqu'une exception est détectée, elle est lancée et capturée par les mots clés "throw" et "catch" en conséquence.
Les typesLes erreurs sont classées comme types non vérifiés.Les exceptions sont classées en types coché ou non coché.
PaquetEn Java, les erreurs sont définies dans le package "java.lang.Error".En Java, les exceptions sont définies dans "java.lang.Exception".
ExempleOutOfMemory, StackOverFlow.Exceptions vérifiées: NoSuchMethod, ClassNotFound.
Exceptions non contrôlées: NullPointer, IndexOutOfBounds.

Définition d'erreur

Erreur ” est une sous-classe de la classe intégrée “Throwable”. Les erreurs sont les conditions critiques qui se produisent en raison du manque de ressources système et ne peuvent pas être traitées par le code du programme. Les erreurs ne peuvent en aucun cas être récupérées, car elles ne peuvent être créées, lancées, interceptées ou corrigées. Les erreurs sont dues à la défaillance catastrophique qui ne peut généralement pas être traitée par votre programme.

Les erreurs sont toujours de type non vérifié, car le compilateur n'a aucune connaissance de son occurrence. Les erreurs se produisent toujours dans l'environnement d'exécution. L'erreur peut être expliquée à l'aide d'un exemple, le programme a une erreur de débordement de pile, d'erreur de mémoire insuffisante ou d'erreur de blocage du système, ce type d'erreur est dû au système. Le code n'est pas responsable de telles erreurs. La conséquence de l'occurrence de l'erreur est que le programme est arrêté de manière anormale.

Définition de l'exception

"Exception" est également une sous-classe de la classe intégrée "Throwable". Les exceptions sont les conditions exceptionnelles qui se produisent dans un environnement d'exécution. La plupart du temps, les exceptions sont dues au code de notre programme.Mais les exceptions peuvent être gérées par le programme lui-même, car les exceptions sont récupérables. Les exceptions sont gérées à l'aide de trois mots-clés: «essayer», «attraper» et «lancer». La syntaxe d'écriture d'une exception est la suivante:

 essayez {// écrivez votre code ici} Catch (type d'exception) {// écrivez votre code ici} 

Dans le code ci-dessus, le code écrit dans le bloc try est le code que vous souhaitez surveiller pour l'exception. Si l'exception se produit dans un bloc try, elle est générée à l'aide du mot clé «throw». L'exception levée peut être interceptée par le bloc «catch» du code ci-dessus. “Type d'exception” est le type de l'exception qui s'est produite.

En termes simples, nous pouvons dire que les erreurs commises à cause du code incorrect sont appelées exceptions. Par exemple, si une classe demandée est introuvable ou si une méthode demandée est introuvable. Ces types d'exceptions sont dus au code dans le programme; le système n'est pas responsable de ce type d'exceptions. Les exceptions sont classées comme “cochées” et “non cochées”. Les exceptions non vérifiées ne connaissent pas le compilateur car elles se produisent au moment de l'exécution, alors que le compilateur a la connaissance des exceptions vérifiées, car elles sont connues du compilateur pendant la compilation.

Principales différences d'erreur et d'exception

  1. Les erreurs se produisent uniquement lorsque les ressources système sont insuffisantes, alors qu’une exception est générée si un code présente un problème.
  2. Une erreur ne peut jamais être récupérée alors qu'une exception peut être récupérée en préparant le code pour gérer l'exception.
  3. Une erreur ne peut jamais être gérée, mais une exception peut être gérée par le code si le code qui lève une exception est écrit dans un bloc try and catch.
  4. Si une erreur est survenue, le programme sera arrêté de manière anormale. D'autre part, si l'exception se produit, le programme lève une exception, qui est gérée à l'aide du bloc try and catch.
  5. Les erreurs sont de type non contrôlé, c’est-à-dire qu’elles ne sont pas connues des compilateurs, alors qu’une exception est classée comme vérifiée et non contrôlée.
  6. Les erreurs sont définies dans le package java.lang.Error alors qu'une exception est définie pour java.lang.Exception.

Conclusion:

Les exceptions sont le résultat d'erreurs commises dans le codage du programme et les erreurs résultent du fonctionnement incorrect du système.

Top