Différence entre exception vérifiée et exception d'exécution

Différence entre exception vérifiée et exception d'exécution

Exception vérifiée vs exception d'exécution

Les exceptions sont un type spécial d'événements, ce qui peut perturber le flux du programme normal. L'exception du nom provient de «l'événement exceptionnel». Jeter une exception est le processus de création d'un objet d'exception et de le remettre au système d'exécution. Lorsque le système d'exécution reçoit l'objet d'exception, il essaiera de trouver quelqu'un pour le gérer dans la pile d'appels en le traversant dans l'ordre inverse (dans lequel les méthodes ont été appelées). Le système d'exécution réussit s'il trouve une méthode avec un gestionnaire d'exceptions. Le gestionnaire d'exceptions est un bloc de code qui peut officiellement gérer ladite exception. Si le système d'exécution trouve un gestionnaire approprié, il passera l'objet d'exception au gestionnaire. C'est ce qu'on appelle attraper l'exception. Cependant, si l'exception ne peut pas être gérée, le programme se terminera. En Java, les exceptions héritent de la classe lancinable. Les exceptions vérifiées sont des exceptions sur lesquelles la manutention est appliquée par le compilateur. Les exceptions d'exécution sont un type d'exceptions, qui ne sont pas vérifiées par le compilateur.

Qu'est-ce qu'une exception vérifiée?

Les exceptions vérifiées sont soit des objets de la classe Java.égouter.exception ou ses sous-classes (sauf le java.égouter.RuntimeException et ses sous-classes). Les exceptions vérifiées sont «vérifiées» au moment de la compilation. Cela signifie que le programmeur doit attraper ou lancer ces exceptions, sinon la compilation se plaindrait (provoquant une erreur de compilateur). Pour cette raison, de nombreuses exceptions vérifiées sont très bien connues des programmeurs. Par exemple, l'iOException et ses sous-classes sont des exceptions vérifiées, et chaque fois que le programmeur affaire à l'accès ou à la modification d'un fichier, le compilateur vérifie pour s'assurer que toutes les IOExceptions possibles sont prises en charge par le programmeur.

Qu'est-ce qu'une exception d'exécution?

Les exceptions d'exécution sont composées de java.égouter.RuntimeException et toutes ses sous-classes. Théoriquement parlant, ils servent le même objectif que les exceptions vérifiées et peuvent être lancées ou manipulées comme une exception vérifiée, mais leur manipulation n'est pas appliquée par le compilateur. Par conséquent, les exceptions d'exécution appartiennent à la famille des exceptions non contrôlées. NullPointerException, NumberFormateCection, ClassCastException et ArrayIndexoutofboundSexception sont des exceptions d'exécution courantes en Java.

Quelle est la différence entre l'exception vérifiée et l'exception d'exécution?

Bien que, les deux exceptions vérifiées et les exceptions d'exécution soient non désirées lors de l'exécution d'un programme, ils ont leurs différences. La gestion des exceptions vérifiée est appliquée par le compilateur, mais les exceptions d'exécution ne sont pas. Par conséquent, les exceptions vérifiées doivent être lancées ou manipulées pour que le code se compile, mais il n'y a pas une telle exigence concernant les exceptions d'exécution. Par conséquent, les exceptions d'exécution appartiennent à la catégorie des exceptions incontrôlées ainsi que des erreurs.

Un inconvénient avec des exceptions vérifiées est que le programmeur doit le gérer même si elle ne sait pas comment. Donc, si le programmeur lance simplement une nouvelle exception sans envelopper l'original, la trace de pile appartenant à l'exception originale sera perdue. C'est là que les exceptions d'exécution sont utiles. Parce que toutes les exceptions d'exécution peuvent être gérées en un seul endroit, les programmeurs peuvent donc écrire moins de code. D'un autre côté, car les exceptions vérifiées doivent être prises, il n'y a pas de surprise pour le programmeur. Elle saura toujours quelle exception vérifiée pourrait être lancée par une certaine méthode. Contrairement à cela, diverses exceptions d'exécution peuvent être lancées à l'insu du programmeur.