В C # я могу использовать throw;инструкцию, чтобы перебросить исключение при сохранении трассировки стека:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
Есть ли что-то подобное в Java ( что не теряет оригинальную трассировку стека )?
Throwables не изменяются, бросая их. Чтобы обновить трассировку стека, вам нужно позвонить fillInStackTrace(). Удобно, чтобы этот метод вызывался в конструкторе a Throwable.
throw e;потеряет трассировку стека. Но не на Яве.