758得票21回答
Java中理解已检查异常和未检查异常

《Effective Java》中的Joshua Bloch说: 对于可恢复的情况使用checked异常,对于编程错误使用runtime异常(第2版的第58项)。 让我们看看我是否正确理解了这个概念。 这是我对checked异常的理解:try{ String userInput...

35得票3回答
为什么允许捕获不会抛出异常的代码中的已检查异常?

在Java中,抛出已检查的异常的方法(Exception或其子类型 - IOException,InterruptedException等)必须声明throws语句: public abstract int read() throws IOException; 没有声明 throws 语...

35得票9回答
未检查异常和运行时异常之间的区别

这是一个面试题。未检查异常和错误之间的主要区别是什么,因为它们都不会被捕获?它们将终止程序。

23得票6回答
如何在Java中识别已检查和未检查异常?

在阅读关于异常的文章时,我经常遇到“已检查异常”和“未检查异常”,想知道如何区分它们? 编辑:我想知道如果我创建任何异常类,如何将其创建为已检查或未检查异常? 每种类型的异常的意义是什么?

20得票2回答
有没有一种简单的方法来查看一个 Kotlin 函数抛出了哪些异常?

我基本上理解了Kotlin省略checked exceptions的潜在问题。然而,我遇到的问题是我找不到任何一种绝对可靠的方法来清楚地指示给调用者一个函数可能抛出哪些异常。 我曾经在Python中遇到过无数次这样的问题,因为我没有意识到我使用的某个库中的函数可能会引发特定的异常,导致程序在...

14得票3回答
声明一个方法抛出未经检查的异常是否有优势?

如果我有一个抛出未检查异常的方法,例如: void doSomething(int i) { if (i < 0) throw new IllegalArgumentException("Too small"); // ... } 明确声明方法会抛出异常是否有任何优势,例如...

10得票4回答
理解已检查和未检查异常有困难

我已经阅读了所有关于如何使用已检查和未检查异常的内容,但仍然不理解。我认为我仍然无法掌握概念。在StackOverflow上我看到说相较于已检查异常,使用未检查异常更好,但是Eclipse强制我使用已检查异常,例如FileNotFoundException(据我所知,如果Eclipse强制我插...

8得票1回答
为什么应该尝试使用未经检查的异常而不是经过检查的异常?

我被告知在我的代码中应该考虑抛出Unchecked exception而不是Checked exception,而且我还应该使用自己的RuntimeException来扩展它。现在,我确实了解这两者之间的区别,但仍然不明白为什么要这样做? 如果我有一个方法头,它会抛出两种异常: publi...

7得票2回答
如何判断何时将异常定义为已检查异常或未检查异常?

我在阅读有关Java中已检查异常和未检查异常的区别以及何时使用它们的内容: 这是关键:如果可以合理地预期客户端从异常中恢复,那么将其设置为已检查异常。如果客户端无法从异常中恢复,那么将其设置为未经检查的异常。 一个客户端无法恢复的例子是除零操作,而客户端可以从FileNotFound异...