我应该在我的 javadoc 或任何 API 中自由使用 @throws
吗?例如,如果我有:
LDAPException
NullPointerException
IllegalArgumentException
Exception
我应该为每一个都使用@throws
,还是应该只说@throws Exception
?
最佳答案
理想情况下,javadoc @throws 子句应该是您的实际方法 throws
子句的超集。
例如,如果您的方法throws IOException
,您可能不仅有一个@throws IOException
来解释发生一般I/O错误的情况,而且还有@throws FileNotFoundException
(IOException
的子类)来讨论为什么会发生这种情况。
同样,即使您没有声明 throws NullPointerException
,您也可以记录 @throws NullPointerException
以说明这种情况可能发生的时间,因为它是一个未经检查的异常并且不会需要(通常不)写在方法签名中。
你应该@throws Exception
吗?不,但是,更一般地说,您不应该throws Exception
。那是一个不同的讨论。但结果,不,在 javadoc 中重复这种不好的做法是不好的。它会谈论什么——可能发生的不同异常?那么为什么不用 @throws
将它们一一记录呢?
关于java - 在 Javadoc 中使用多少 @throws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082419/