【发布时间】:2017-03-25 04:59:55
【问题描述】:
考虑下面的 Java 代码 sn-p:
public <T> T create(Class<T> clazz) throws InstantiationException, IllegalAccessException {
return clazz.newInstance();
}
这在 Eclipse(Neon.2,JDK 8)中使用 SonarLint 执行静态代码分析。它提供了重构的建议:
重构此方法以最多抛出一个已检查异常,而不是:java.lang.InstantiationException、java.lang.IllegalAccessException
此建议的基础是什么最佳实践?我知道通常有一些关于检查异常的controversy,但是为什么在这种情况下在这里捕获一个并将另一个传递到堆栈而不是将它们都传递到堆栈以供其他东西处理它们会更好?
【问题讨论】:
-
这确实是基于意见的,但我认为这样做没有任何问题。如果我使用 SonarLint,我会关闭该警告。
标签: java exception sonarlint checked-exceptions sonarlint-eclipse