Java默认包中是否存在未经检查的通用异常,它也表示只读异常情况?如果没有,使用什么是最好的替代例外?
我的问题:我使用的API中的方法声明了自定义检查ReadOnlyException
。我想通过重新抛出它来处理这个问题(如果发生这种情况,那么编码错误应保证不会由我的代码发生,如果它正确的话)包含在一些未经检查的RuntimeException
类型中。我不想为此写另一个Exception
类。
Java代码是否有各种Exception
的良好来源,在哪些情况下可以使用它们(因为我常常站在两难境地 - 编写自定义Exception
或使用现有的代码)?
答案 0 :(得分:1)
我认为UnsupportedOperationException
是最合适的。 IllegalStateException
是另一种可能的选择。
答案 1 :(得分:1)
有一个很好的Java异常列表here。多年来我一直在使用这个页面作为参考。
也许EOFException会对你有用。
答案 2 :(得分:-1)
如果调用者可以处理此异常,您可以盲目地重新抛出异常
// throw a checked exception without the compiler knowing.
Thread.currentThread().stop(checkedException);
这仍允许嵌套调用者捕获原始异常,但不必一直声明已检查的异常。