当访问的属性或方法暂时不可用时抛出什么exception?
当被访问的属性或方法暂时不可用时抛出什么exception(因为它在对象的当前状态下没有意义)?
以下是我想到的一个半说明性的例子,不要太认真,如果你得到它,试着考虑问题本身。
具有numerator
和denominator
读写属性和quotient
只读属性的fraction
类。 如果denominator
不等于0,那么quotient
是返回numerator
/ denominator
否则就是抛出一个exception,说明属性值没有定义/可用于对象的当前状态(请不要提供ArithmeticException
或DivideByZeroException
,这个问题不是关于算术,它更接近有限状态机主题)。
另一个例子可以是类的对象在并行线程中执行一些复杂的计算并将结果作为字段提供 – 如果计算尚未完成,它可以抛出exception。
我对Java和.Net平台的答案很感兴趣。
java.lang.IllegalStateException
表示在非法或不适当的时间调用了方法。 换句话说,Java环境或Java应用程序未处于所请求操作的适当状态。