[英]What is the proper way to deal with Exceptions in Interceptors in EJB3?
我想對我的bean使用攔截器,它將檢查給定連接令牌的有效性。
如果連接無效,我想拋出一個特定的異常,如果連接過期,我想發送另一個(TokenExpiredException,類似這樣的東西)。 這些異常包含在提供給客戶端的接口中。
@AroundInvoke
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{
//code to check token
//...
throw new TokenExpiredException();
}
根據我的嘗試,在Interceptor中拋出這種特定的Exception會導致客戶端的UndeclaredThrowableException
。 盡管此異常包括對原因的引用,但它並不是真正理想的方法,並且不能通過常規catch子句處理。
那么使用攔截器聲明不同的異常類型的正確方法是什么?
我認為沒有正確的方法可以做到這一點。 方法應該只拋出它們聲明的異常,並且攔截器不應該添加新的異常。
通過將錯誤代碼添加到所有方法拋出的默認異常中,我的情況得到了解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.