【发布时间】:2011-03-23 19:39:10
【问题描述】:
我对 Java 的异常包不像 .NET 那样熟悉。我的情况是,如果用 C# 编程,我会抛出一个System.InvalidOperationException。
在创建我自己的java.lang.RuntimeException 子类之前,我需要知道我是否应该在 Java 中抛出类似的异常类型。
具体情况是:
我的类是一个值对象,它提供了一个int intValue() 方法,返回一个int。但是,在某些情况下,当前值无法以 int 形式提供,因此该类还提供了一个 boolean isInteger() 以让 API 用户知道何时可以安全地调用 intValue()。
如果调用者在isInteger() 为false 时调用intValue(),则应抛出异常。
问题是:什么类型的异常?
我知道这个问题可能没有正确的答案,但考虑到我没有很多设计 Java API 的经验,我想从其他 Java 开发人员那里了解他们的期望在这种情况下被抛出。
谢谢
【问题讨论】: