Как поймать исключение, выброшенное из Spring AOP Advice

У меня есть собственное исключение MyOwnException, и я выбрасываю это исключение из моего класса обслуживания.

public void service() throws MyOwnException
{
// some code 

}

Теперь я хочу поймать MyOwnException в совете и повторно создать совершенно новое исключение.

public class SimpleThrowsAdvice implements ThrowsAdvice {

    public void afterThrowing(Method method, Object[] args, Object target,
                MyOwnException ex) throws Throwable {
        throw new Exception("new Description",ex);
    }
}

Теперь, как я могу поймать повторно брошенный Exception из вышеприведенного совета SimpleThrowsAdvice?


person sajeyasok    schedule 03.08.2010    source источник
comment
Вы уверены, что хотите повторно поймать исключение, которое уже было обнаружено, но теперь завернуто? Это слишком похоже на то, как будто это черепахи до упора. Что вы собираетесь делать с новым советом по отлову исключений, который нельзя сделать с SimpleThrowsAdvice?   -  person earldouglas    schedule 07.09.2010


Ответы (1)


Для этого вам следует воспользоваться советом Around. См. Здесь Spring AOP AfterThrowing vs.Around Advice

person βξhrαng    schedule 03.08.2010