3 回答

TA贡献1825条经验 获得超6个赞
检查异常
未经检查的异常
可预测但不可预防
:调用方在其能力范围内尽一切努力验证输入参数,但某些超出其控制范围的条件导致操作失败。例如,您尝试读取一个文件,但在您检查文件是否存在和读取操作开始之间,有人会删除它。通过声明一个已检查的异常,您将告诉调用方预测此失败。 合理地从
:没有必要让来电者预测他们无法恢复的例外情况。如果用户试图从不存在的文件中读取,调用方可以提示他们输入新的文件名。另一方面,如果该方法由于编程错误(无效的方法参数或错误的方法实现)而失败,则应用程序无法在执行过程中修复该问题。它所能做的最好就是记录问题并等待开发人员稍后修复它。
重新评估各级
SQLException
IOException
RepositoryException
).

TA贡献1815条经验 获得超6个赞
当异常发生时,您必须捕获并处理异常,或者通过声明您的方法抛出该异常来告诉编译器无法处理该异常,那么使用您的方法的代码将不得不处理该异常(即使它也可能选择声明它在无法处理异常时抛出异常)。
编译器将检查我们是否做了这两件事中的一件(捕获或声明)。这就是所谓的检查异常。但是,编译器不会检查错误和运行时异常(即使您可以选择捕获,或者声明,它并不是必需的)。因此,这两个被称为未检查的异常。
错误用于表示在应用程序之外发生的情况,例如系统崩溃。运行时异常通常是由于应用程序逻辑中的错误而发生的。在这种情况下你什么也做不了。当出现运行时异常时,您必须重写程序代码。因此,编译器不会检查这些内容。这些运行时异常将在开发和测试期间发现。然后,我们必须重构代码以删除这些错误。
添加回答
举报