Java - Comment faire Python Essayer à l'Exception d'Autre
Comment dois-je faire un essai à l'exception d'autre en Java comme je le ferais en Python?
Exemple:
try:
something()
except SomethingException,err:
print 'error'
else:
print 'succeeded'
Je vois try et catch mentionné, mais rien d'autre.
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas entièrement convaincu que je l'aime, mais ce serait l'équivalent de Python d'autre. Il élimine le problème est identifié à mettre le code de succès à la fin du bloc try.
catch
bloc, de sorte que vous pouvez simplement mettre leselse
logique après tyetry-catch
tout à fait.try-catch-else
construire, vous devez vous pas utiliser un bloc finally, comme cela va être exécutée même si il y a unreturn
ou uncaught exception dans letry
bloc. Il suffit de mettre laif(success)
bloc après letry-catch
.Quoi à ce sujet?
Sûr, il y a certains cas où vous voulez mettre plus de code après le try/catch/else et cette solution ne convient pas, mais il fonctionne si c'est le seul bloc try/catch dans votre méthode.
Alors qu'il n'est pas intégré dans la façon de faire exactement la même chose. Vous pouvez faire quelque chose de similaire pour obtenir des résultats similaires. Les commentaires expliquent pourquoi ce n'est pas exactement la même chose.
Si l'exécution de la
somethingThatCouldError()
passe,YAY!!
sera imprimé. Si il y a une erreur,SAD
sera imprimé.De cette façon est un peu moins explicite que Python. Mais il permet d'obtenir le même effet.
Yay
vers le bas de latry
.somethingThatCouldError()
ne jette pas une exception. Je ne pense pas que c'est exactement ce que Greg voulait.finally
blocs en plus de la normetry
etcatch
?finally
trop. Mais ce n'est pas ce qui est nécessaire dans cette question.try-except-else
: il sera aussi attraperException
de ce qu'est le "else" block;try-except-else
ne pas le faire, ni la solution de Ryan réponse. En plus de ne pas être équivalent, cela va aussi agaist le principe quetry-catch
ne devrait être autour de lui comme un petit bloc de code que possible.