Em C #, posso usar a throw;instrução para repetir uma exceção, preservando o rastreamento de pilha:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
Existe algo parecido com isto em Java ( que não perde o rastreamento de pilha original )?
Throwables não são modificados jogando-os. Para atualizar o rastreamento de pilha, é necessário chamar fillInStackTrace(). Convenientemente, esse método é chamado no construtor de a Throwable.
throw e;perderá o rastreamento de pilha. Mas não em Java.