【发布时间】:2014-06-25 06:30:45
【问题描述】:
我正在使用 Spring 的 AOP 功能。 我有一堂课叫
class UserService {
public User insertUserService(User user) throws PersistenceLayerException {
System.out.println("UserServiceImpl_Two called: insertUserService method");
if (user.id == 1)
throw new PersistenceLayerException();
return null;
}
}
现在,对该方法insertUserService 的调用被拦截器拦截,该拦截器进行一些验证。这个验证拦截器抛出一个名为BusinessException 的检查异常。现在,当抛出这个异常时,Java 会抛出一个UndeclaredThrowableException,因为BusinessExcepetion 没有在insertUserService 的抛出中声明。有没有办法绕过这个UndeclaredThrowableException 而不必在 throws 子句中声明BusinessException。
insertUserService 本身没有抛出 BusinessException 的原因,所以它看起来应该有办法解决。
【问题讨论】:
标签: java spring interceptor checked-exceptions