【发布时间】:2014-10-01 08:57:34
【问题描述】:
我是编程新手,正在学习 Java 作为我的第一门 oo 语言,通过阅读 David J. Eck 的 Java 编程简介并在遇到困难时阅读论坛帖子。
我的问题可以被认为是 Java Class Constructor Parameters with range limits 的后续问题,它处理将 Hour 类的构造函数的 int 参数限制为 0 到 23。
上述问题的答案提到抛出 Instantiation Exception 或 IllegalArgumentException,但不清楚哪种方式更好。
另外,如果有的话,与验证代码相关的开销是否合理?
【问题讨论】:
-
作为记录,如果值超出特定范围(0-255 或 0.0-1.0,取决于使用的构造函数),某些
java.awt.Color类构造函数会抛出IllegalArgumentException。
标签: java oop methods contracts