Sonarqube 定义了一条规则,说 永远不应该抛出 通用异常(即抛出专用异常而不是使用通用异常。)
但是 AOP ProceedingJoinPoint 总是抛出通用的 Throwable 并且通常我对异常根本不感兴趣,只是从这样的方法中抛出它:
@Around(...)
public void someMethod(ProceedingJoinPoint point) throws Throwable {
// do something...
point.proceed();
// do something else...
}
显然,这违反了上述 Sonarqube 规则。我真的必须用 try catch 包装它并记录 throwable 或其他东西吗?这方面的最佳做法是什么?
最佳答案
您可以安全地将此违规标记为 误报 并输入描述性评论。这种误报应该很少见,以便您可以单独对待它们,并采取相应的行动——AoP API 是一个很好的例子,遗留和/或编写不当的库是另一个例子。但不要将文件添加到排除项中,因为您会从 Sonar 分析中丢失其他规则
关于java - Sonarqube 将 AOP Throwable 视为问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35221627/