Я хочу использовать перехватчик для моего bean-компонента, который будет проверять действительность данного токена соединения.
Если соединение недопустимо, я хочу вызвать конкретное исключение, если соединение истекло,хочу отправить другое (TokenExpiredException, что-то вроде этого).Эти исключения включены в интерфейс, предоставленный клиенту.
@AroundInvoke
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{
//code to check token
//...
throw new TokenExpiredException();
}
Из того, что я пробовал, выбрасывание такого конкретного исключения в перехватчик приводит к UndeclaredThrowableException
на стороне клиента.Хотя это исключение включает ссылку на причину, оно на самом деле не является идеальным и не может рассматриваться применительно к обычным предложениям catch.
Каков правильный способ объявления различных типов исключений с помощью перехватчиков?