Quelle est la différence entre les erreurs et les exceptions? [dupliquer]


Duplicata Possible:
Différences entre Exception et Erreur

Comment puis-je différencier les erreurs et les exceptions en Java?

Author: Community, 2011-04-28

4 answers

Une erreur " indique de graves problèmes qu'une demande raisonnable devrait ne pas essayer de l'attraper."

Tandis que

Une exception " indique des conditions qu'une demande raisonnable pourrait voulez attraper."

Erreur avec RuntimeException et leurs sous-classes sont des exceptions unchecked. Toutes les autres classes d'exceptions sont des exceptions checked.

Les exceptions cochées sont généralement celles à partir desquelles un programme peut récupérer et il peut être une bonne idée de récupérer de telles exceptions par programme. Les exemples incluent FileNotFoundException, ParseException, etc. Un programmeur est censé vérifier ces exceptions en utilisant le bloc try-catch ou le renvoyer à l'appelant

D'autre part, nous avons décoché exceptions. Ce sont ces exceptions qui pourraient ne pas se produire si tout est en ordre, mais elles se produisent. Les exemples incluent ArrayIndexOutOfBoundException, ClassCastException, etc. De nombreuses applications utiliseront la clause try-catch ou throws pour {[9] } et leurs sous-classes mais du point de vue de la langue, il n'est pas nécessaire de le faire. Notez que la récupération à partir d'un RuntimeException est généralement possible mais les gars qui ont conçu la classe/exception ont jugé inutile pour le programmeur final de vérifier de telles exceptions.

Les erreurs sont également une exception non cochée et le programmeur n'est pas obligé de faire quoi que ce soit avec celles-ci. En fait, c'est une mauvaise idée d'utiliser un try-catch clause d'Erreurs. Le plus souvent, la récupération d'une erreur n'est pas possible et le programme doit être autorisé à résilier. Les exemples incluent OutOfMemoryError, StackOverflowError, etc.

Notez que bien que les erreurs soient des exceptions non cochées, nous ne devrions pas essayer de les traiter, mais il est correct de traiter RuntimeExceptions(également des exceptions non cochées) dans le code. Les exceptions vérifiées doivent être gérées par le code.

 154
Author: Nirmal- thInk beYond, 2014-12-12 15:17:45

Error et Exception les deux étendent Throwable, mais surtout Error est lancé par la JVM dans un scénario qui est fatal et il n'y a aucun moyen pour le programme d'application de récupérer de cette erreur. Par exemple OutOfMemoryError.

Bien que même l'application puisse soulever un Error mais ce n'est tout simplement pas une bonne pratique, les applications doivent utiliser des exceptions vérifiées pour les conditions récupérables et des exceptions d'exécution pour les erreurs de programmation.

 16
Author: Jugal Shah, 2011-04-28 05:45:36

L'erreur est quelque chose que la plupart du temps vous ne pouvez pas gérer.

Exception était destinée à vous donner l'occasion de faire quelque chose avec elle. comme essayer autre chose ou écrire dans le journal.

try{
  //connect to database 1
}
catch(DatabaseConnctionException err){
  //connect to database 2
  //write the err to log
}
 12
Author: fatnjazzy, 2011-04-28 06:43:16

En général, l'erreur est que personne ne peut contrôler ou deviner quand elle se produit.L'exception peut être devinée et peut être gérée. En Java Exception et Error sont une sous classe de Throwable.It est différencié en fonction du contrôle du programme.Erreur telle que l'erreur OutOfMemory qu'aucun programmeur ne peut deviner et peut gérer it.It dépend dynamiquement basé sur l'architecture, le système d'exploitation et la configuration du serveur.Où en tant que programmeur d'exception peut le gérer et peut éviter la mauvaise conduite de l'application.Par exemple si votre code est à la recherche d'un fichier qui n'est pas disponible, IOException est levée.Ces instances programmeur peut deviner et peut le gérer.

 4
Author: nicks, 2011-04-28 04:25:47