Java相当于.NET System.InvalidOperationException

我不太熟悉Java的exception包和.NET的exception包。 我在这种情况下,如果在C#编程,我会抛出一个System.InvalidOperationException

在创build我自己的java.lang.RuntimeException子类之前,我需要知道是否有类似的exceptiontypes,我应该抛出Java。

确切的情况是:

我的类是一个值对象,它提供了一个int intValue()方法,返回一个int。 但是,在某些情况下,当前值不能作为int提供,所以这个类还提供了一个boolean isInteger()来允许API用户知道intValue()何时可以被安全地调用。

如果调用者在isInteger()false时调用intValue() ,则应抛出exception。

问题是:什么types的exception?

我知道这个问题可能没有一个正确的答案,但考虑到我没有很多deviseJava API的经验,我想从其他Java开发人员那里知道他们会在这种情况下抛出什么。

谢谢

抛出一个IllegalStateException

表示某个方法在非法或不适当的时间被调用。 换句话说,对于请求的操作,Java环境或Java应用程序不处于适当的状态。