Bonjour à tous,
Pourquoi les RuntimeExceptions ne sont pas vérifiées par le compilateur ?
Merci âr avance
Bonjour à tous,
Pourquoi les RuntimeExceptions ne sont pas vérifiées par le compilateur ?
Merci âr avance
Il y a deux sortes de RuntimeException :
- celles vraiment déclenchées par la JVM : le compilateur ne peut pratiquement pas les détecter et s'il le pouvait ça gonflerait le code de try/catch pas vraiment souhaitables.
- celles volontairement déclenchées par le programmeur (par ex. IllegalArgumentException). Dans ce cas la responsabilité est transférée au code appelant.
Qu'est ce que ça veut dire? le code appelant est au courant d'une précondition: donc ou il la respecte et il ne va pas mettre de catch, ou il a des doutes et il met un catch de son propre chef (le pire est qu'il ne fasse aucune verif et pas de catch: mais là c'est de sa faute).
Pour comprendre ce raisonnement se poser la question: qu'est ce qui se passerait si le compilateur était obligé de forcer le traitement des RuntimeException....
exemple à prendre: Integer.parseInt(chaine) ... que faire?
Partager