In C #, posso usare l' throw;
istruzione per riproporre un'eccezione preservando la traccia dello stack:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
C'è qualcosa di simile in Java ( che non perde la traccia dello stack originale )?
Throwable
non vengono modificati lanciandoli. Per aggiornare la traccia dello stack devi chiamare fillInStackTrace()
. Convenientemente questo metodo viene chiamato nel costruttore di a Throwable
.
throw e;
perderà lo stacktrace. Ma non in Java.