2010-11-26 2 views
1

Я хочу использовать перехватчик для моего компонента, который проверяет правильность данного токена подключения.Каков правильный способ справиться с Исключениями в перехватчиках в EJB3?

Если соединение недействительно, я хочу бросить конкретное исключение, если соединение истекло, я хочу отправить другое (TokenExpiredException, что-то вроде этого). Эти Исключения включены в интерфейс, предоставленный клиенту.

@AroundInvoke 
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{ 
    //code to check token 
    //... 
    throw new TokenExpiredException(); 
} 

Из того, что я пробовал, бросая такие специфические исключения в перехватчик приводит к UndeclaredThrowableException на стороне клиента. Хотя это исключение включает ссылку на причину, оно не является идеальным и не может быть рассмотрено с регулярными предложениями catch.

Каков правильный способ объявления различных типов исключений с помощью перехватчиков?

ответ

1

Я не думаю, что есть правильный способ сделать это. Методы должны бросать только те исключения, которые они объявили, и перехватчик не должен добавлять новый.

Мое личное дело исправлено добавлением кода ошибки в наше исключение по умолчанию, которое генерируется всеми методами.

 Смежные вопросы

  • Нет связанных вопросов^_^