Javadoc and RuntimeException

4

我想知道在方法签名后面是否应该添加throws ExceptionClass。(ExceptionClass扩展自RuntimeException)

例如:

public void foo() // throws ExceptionClass
{
    // ...
    throw new ExceptionClass("");
}

为什么要抛出异常?我的意思是,在什么情况下你希望抛出异常? - Aniket Thakur
3个回答

9

如果你按照JDK的规范,RuntimeException不会出现在方法签名中,但是会在javadoc中有所记录。比如,你可以查看Java集合框架。


1
请查看 java.lang.Integer 中的 public static int parseInt(String s) throws NumberFormatException { - johnchen902

2
理想情况下,您不需要将运行时异常添加到方法的throws子句中。 因为您希望该方法的使用者意识到该方法可能会抛出异常,我建议使用javadoc。 以下是如何使用的示例:
/**
 * 
 * @throws ExceptionClass
 */
public void foo()
{
    // ...
    throw new ExceptionClass("");
}

0

运行时异常不需要列在throws子句中。只有在需要记录此行为并且对于该类的客户端了解此异常可能出现很重要时,才将其放置在那里(但如果是这种情况,可能需要将其更改为已检查异常,或仅在javadoc中提及)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,