2012-02-04 3 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() {...} 

하지만 어느 작품 : 나는 @CatchPlay Documentation에 설명 된 코드를 사용하여 시도했다. 심지어 빈 메서드 본문이 예외를 생성하기 때문에, 나는 그것이 방법 내부 코드 생각하지 않습니다

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

:

내가 주석을 사용할 때마다 나는 메시지가 나타납니다. 내 @Catch 전화가 누락 되었습니까?

답변

2

귀하의 방법은 매개 변수로 throw 가능 객체를 취해야한다 : 정확하게 문제였다

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

. 메소드 호출이 아닌 주석 호출에서 문제점을 찾고있었습니다. 감사! –

관련 문제