java中已检查异常的用法是什么?

时间:2016-06-30 08:51:15

标签: java exception runtimeexception

在oracle doc中它说

  

如果可以合理地期望客户端从异常中恢复,请将其作为已检查的异常。如果客户端无法执行任何操作以从异常中恢复,请将其设置为未经检查的异常。

例如,ClassNotFoundException和CloneNotSupportedException是已检查异常的两个示例,但如果我们在运行时捕获这些类型的异常,则客户端无法执行任何操作来解决它们。 但是,如果他们的意思是客户端这个词,那么它也没有意义,因为程序员在运行时无法从这些类型的异常中恢复。

1 个答案:

答案 0 :(得分:1)

我想到的两件事

  1. 当出现问题时清除混乱/继续,好像什么都没发生/尝试另一种方法来完成任务。假设您已打开数据库连接并从中读取。如果抛出一些异常,你要确保在离开之前清理乱七八糟的东西。例如,您可以在finally块中使用connection.close()等。您不希望您的应用程序因为不太严重的错误而致命地抛出异常。

  2. 您可能希望重新抛出异常。说它是与上面相同的例外,但这不是您想要向用户显示的消息。您可以编写一个映射器,它会抛出您使用所需消息编写的自定义异常。