Java中的通用异常是只读的

时间:2013-09-13 08:21:11

标签: java exception-handling

Java默认包中是否存在未经检查的通用异常,它也表示只读异常情况?如果没有,使用什么是最好的替代例外?

我的问题:我使用的API中的方法声明了自定义检查ReadOnlyException。我想通过重新抛出它来处理这个问题(如果发生这种情况,那么编码错误应保证不会由我的代码发生,如果它正确的话)包含在一些未经检查的RuntimeException类型中。我不想为此写另一个Exception类。

Java代码是否有各种Exception的良好来源,在哪些情况下可以使用它们(因为我常常站在两难境地 - 编写自定义Exception或使用现有的代码)?

3 个答案:

答案 0 :(得分:1)

我认为UnsupportedOperationException是最合适的。 IllegalStateException是另一种可能的选择。

答案 1 :(得分:1)

有一个很好的Java异常列表here。多年来我一直在使用这个页面作为参考。

也许EOFException会对你有用。

答案 2 :(得分:-1)

如果调用者可以处理此异常,您可以盲目地重新抛出异常

// throw a checked exception without the compiler knowing. 
Thread.currentThread().stop(checkedException);

这仍允许嵌套调用者捕获原始异常,但不必一直声明已检查的异常。