Play Framework 1.2.4:使用@Catch批注时出现IllegalArgumentException

时间:2012-02-04 00:06:27

标签: annotations playframework

我正在尝试使用@Catch注释来捕获我的应用程序中生成的任何JAXB UnmarshalExceptions。我尝试使用Play Documentation中描述的代码@Catch

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

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

但不起作用。

每次我使用注释时,都会收到消息:

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

我认为这不是方法中的代码,因为即使是空方法体也会生成异常。我的@Catch电话中是否有遗漏的内容?

1 个答案:

答案 0 :(得分:2)

您的方法应该将throwable作为参数:

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