2012-02-04 17 views
1

@Catchアノテーションを使用して、アプリケーションで生成されたすべてのJAXB UnmarshalExceptionsを捕捉しようとしています。Play Framework 1.2.4:@Catchアノテーションを使用すると、IllegalArgumentExceptionが発生する

@Catch(UnmarshalException.class) 
    public static void addUnmarshalError() {...} 

@Catch(value = UnmarshalException.class, priority = 1) 
    public static void addUnmarshalError() {...} 

どちらも作品:私は@CatchためPlay Documentationで記述されたコードを使用してみました。でも、空のメソッド本体が例外を生成するので、私はそれがメソッド内のコードだとは思わない

Oops: IllegalArgumentException 
An unexpected error occured caused by exception IllegalArgumentException: wrong number of arguments 

私は、アノテーションを使用するたびに、私は、メッセージが表示されます。 @Catchに電話がありませんか?

答えて

2

あなたのメソッドは、パラメータとしてスロー可能オブジェクトを取る必要があります。まさに問題だった

@Catch(UnmarshalException.class) 
    public static void addUnmarshalError(Throwable throwable) {...} 
+0

。私は、メソッドの署名ではなく、アノテーション呼び出しの問題を探していました。ありがとう! –

関連する問題