У C # я можу використовувати throw;оператор, щоб повторно скинути виняток, зберігаючи слід стека:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
Чи є щось подібне в Java ( що не втрачає оригінальний слід стека )?
Throwables не змінюються, кидаючи їх. Щоб оновити слід стека, вам потрібно зателефонувати fillInStackTrace(). Зручно цей метод викликається в конструкторі a Throwable.
throw e;втратить стек-тракт. Але не на Java.