Play Framework 1.2.4: IllegalArgumentException при использовании аннотации @Catch - PullRequest
1 голос
/ 04 февраля 2012

Я пытаюсь использовать аннотацию @Catch для перехвата любых исключений JAXB UnmarshalException, сгенерированных в моем приложении.Я попытался использовать код, описанный в 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 Ответ

2 голосов
/ 04 февраля 2012

Ваш метод должен принимать в качестве параметра throwable:

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