En C #, je peux utiliser l' throw;
instruction pour renvoyer une exception tout en préservant la trace de la pile:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
Y a-t-il quelque chose comme ça en Java ( qui ne perd pas la trace de pile d'origine )?
Throwable
s ne sont pas modifiés en les jetant. Pour mettre à jour la trace de pile, vous devez appeler fillInStackTrace()
. Idéalement, cette méthode est appelée dans le constructeur de a Throwable
.
throw e;
perdra la trace de pile. Mais pas en Java.