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