1
我想爲我的bean使用攔截器,它將檢查給定連接標記的有效性。在EJB3中處理攔截器異常的正確方法是什麼?
如果連接無效,我想拋出一個特殊的異常,如果連接過期,我想發送另一個(TokenExpiredException,類似這樣的東西)。這些例外包含在提供給客戶端的界面中。
@AroundInvoke
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{
//code to check token
//...
throw new TokenExpiredException();
}
從我試過了,在攔截投擲這種特定的異常導致對客戶端的UndeclaredThrowableException
。雖然這個例外包括了對事業的提及,但它並不是很理想,並且不能用常規的catch語句來處理。
然後用Interceptors聲明不同的異常類型的正確方法是什麼?