Есть способ выбросить "множественные исключения", вроде.Вы можете бросить одно Исключение, завернутое в другое, например:
throw new UserException(new SomeException());
Когда это перехватывается, ловушка может выяснить причину, например:
catch (UserException e) {
Exception cause = e.getCause(); // cause is an instance of SomeException
}
Таким образом, ловушка имеетдоступ к обоим исключениям.
Определить UserException
как расширяющее исключение:
public class UserException extends Exception {
private UserException(String message, Throwable cause) {
super(message, cause);
}
private UserException(Throwable cause) {
super(cause);
}
}