我在我们的一个工件中创建了一个@Component
作为服务层,我想将来自这个新组件的所有可能异常包装到一个特定的工件Exception中(只是为了给它起一个名字)将是ArtifactException
)。
我的问题是如何将此服务层或下面的层中发生的任何异常转换为ArtifactException
。
我正在寻找比以下更优雅的解决方案:(抓住并重新投掷)
catch (NamingException ex){
//EXCEPTION WRAPPING
throw new ArtifactException(
"Config error with JNDI and datasource, for db " + Util.quote(dbConnString), ex
);
}
catch (SQLException ex ){
//EXCEPTION WRAPPING
throw new ArtifactException(
"Cannot get connection from datasource, for db " + Util.quote(dbConnString), ex
);
}
我正在考虑将@AfterThrowing
与方面结合使用,但我希望能够避免使用这些方面。
我知道@ExceptionHandler
,但这适用于DispatcherServlet
,因为我们在服务层工作没有实现,没有什么可以解决spring-mvc
还有其他选项可以使用Spring来处理这个问题吗?可能是我不知道的新注释或任何其他方法。
我认为我所看到的是Spring中服务层的异常翻译器
感谢。