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