相关疑难解决方法(0)

使用注释进行异常处理?

假设我有一种抛出某种异常的方法.抛出异常的代码位于访问外部服务的第三方库中.我有一些类可以完成外部服务的大量工作,并且在整个过程中有很多异常处理来处理潜在的问题.我遇到的问题是我可能有很多例外,但我可能只需要执行一些操作,如果有的话,并且有大量的try/catch块.异常的类型甚至可能不相关,或者不同的方法可能抛出相同类型的异常,但是根据抛出它的方法需要采取不同的操作.

我正在寻找的是一个注释,它可以取代try/catch,并简单地指示当该方法中存在异常时要采取的行为.我知道Spring ApsectJ可以做到这一点,但我现在无法轻松添加任何新的依赖项或修改pom来调整现有的依赖项.因此,我希望通过自定义注释可以实现这一点.例如:

@Catcher(action=SomeEnum.SOME_ACTION)
public void doSomething(ServiceObj obj) throws SomeException {
    ExternalService.makeThingsHappen(obj);
}
Run Code Online (Sandbox Code Playgroud)

当然,我会假设一个单独的类会处理异常.另一个困难是我需要传递的ServiceObj.如果makeThingsHappen()失败,我可能需要obj来执行其他操作.action变量将告诉处理程序类如何处理obj.

这可以在没有严重粪便的情况下完成,还是我希望有可能不存在的东西?

java annotations exception-handling exception try-catch

13
推荐指数
1
解决办法
2万
查看次数