s'il vous plaît expliquer la différence entre les exceptions de retour et les exceptions de lancer.
La différence est la suivante:
Lancer une exception est la chose normale à faire. Cela change le flux de contrôle.
Le retour d'une exception est légal, mais inhabituel. Cela ne change pas le flux de contrôle .
1 - ... sauf dans le sens que toute déclarationreturn
fait cela. La JLS parle de l'exécution d'une déclaration complétant normalement ou complétant abruptement. Si vous voulez tous les détails, lisez JLS 14.1.
Cependant ....
return new SomeException(...);
.... est une chose assez douteuse à faire. Le seul cas d'utilisation raisonnable que je peux penser est si votre code utilise ces objets d'exception pour signaler plusieurs erreurs, et quelque chose d'autre est de les collecter et de les signaler. Vous pouvez le faire si vous avez besoin de capturer les traces de la pile pour les emplacements où des erreurs ont été détectées. Mais sinon, l'utilisation d'exceptions comme celle-ci est tout simplement laide et inefficace.
Pourquoi nous utilisons la déclaration de retour, en ce moment, la méthode ci-dessus inclus déclaration de retour, est d'arrêter l'exécution?
No.Renvoyer une exception n'est pas différent de renvoyer une autre valeur. Cela n'arrête pas l'exécution.
Si vous nous avez montré un exemple de code d'application (réel) qui fait cela, nous pourrions essayer de l'expliquer.
S'il vous plaît montrer un exemple complet quand vous avez vu une exception retournée au lieu de jeter –