Java 相当于 .NET System.InvalidOperationException

2022-08-31 12:39:14

我对Java的例外包并不像.NET那样熟悉。我处于这样的情况:如果用C#编程,我会抛出一个.System.InvalidOperationException

在创建我自己的子类之前,我需要知道在Java中是否应该引入类似的异常类型。java.lang.RuntimeException

确切的场景是:

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

如果调用方在 is 时调用,则应引发异常。intValue()isInteger()false

问题是:什么类型的异常?

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

谢谢


答案 1

抛出非法状态异常

在非法或不适当的时间调用方法的信号。换句话说,Java 环境或 Java 应用程序未处于适合所请求操作的状态。


答案 2