1
我在dropwizard中構建了一個通用的異常處理程序。我想提供自定義的註釋作爲庫的一部分,它將調用時例外方法提出了handleException方法(方法包含註釋)使用自定義註釋的調用方法 - JAVA
詳情: 自定義註釋@ExceptionHandler
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExceptionHandler{
Class<? extends Throwable>[] exception() default {};
}
有一個處理方法handleException(Exception, Request)
,類ExceptionHandlerImpl
。
現在有每當EXC1
和EXC2
由法doPerformOperation
提出有法註釋
@ExceptionHandler(exception = {EXC1,EXC2})
Response doPerformOperation(Request) throws EXC1,EXC2,EXC3{}
現在商務艙,我想調用handleException
方法。
我嘗試閱讀AOP(AspectJ),Reflection,但無法找出執行此操作的最佳最佳方式。
無論如何,這個異常是否應該被記錄並升級到調用堆棧,或者您是否期望異常被捕獲並且問題「修復」?我在問,因爲如果你想修復它,你需要生成一個'Response'來由你的方法返回。我建議的解決方案取決於你的答案。 – kriegaex
標準JAX-RS異常映射器(https://jersey.java.net/documentation/latest/representations.html#d0e6653)會更明智嗎?並根據異常類型提供異常處理程序? –
@ kriegaex:我不需要任何返回值。我已經使用aspectjrt解決了這個問題。 –