如果方法不适合当前对象,则抛出哪个异常

pri*_*ain 5 java exception

如果该方法不适合当前对象,您会抛出哪个异常?

例如,在我的例子中,我编写了一个名为的类Interval,它代表一个时间间隔。该类还允许空间隔(没有单个时间点是该间隔的元素)。现在我想实现一个方法,该方法返回一个时间点,该时间点是该间隔的元素。当然,只有当间隔非空时,这才有可能。那么如果它是空的,我必须抛出哪个异常?

编辑:我在类似情况下总是抛出的异常是IllegalArgumentException。但在这种情况下它不适合,因为我的方法没有参数。从某种意义上说,该对象相对于该方法来说是非法的。

Rad*_*def 7

UnsupportedOperationException, ArithmeticException.

UnsupportedOperationException是“集合的一部分”,但 AWT 和 NIO 都是它的子类。

您也可以只创建自己的特殊情况例外,例如EmptyIntervalException extends RuntimeException. 如果没有完美的配合,那也没有问题。