En C #, puedo usar la throw;instrucción para volver a generar una excepción mientras se conserva el seguimiento de la pila:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
¿Hay algo como esto en Java ( que no pierde el rastro original de la pila )?
Throwables no se modifican arrojándolos. Para actualizar el seguimiento de la pila, debe llamar fillInStackTrace(). Convenientemente, este método se llama en el constructor de a Throwable.
throw e;perderá el stacktrace. Pero no en Java.