gpt4 book ai didi

java - 可恢复和不可恢复的异常或错误是什么意思

转载 作者:行者123 更新时间:2023-11-30 06:54:42 24 4
gpt4 key购买 nike

我试图理解错误和异常之间的区别,但它看起来是一样的,而且在 Oracle Official tutorials 上我读了这一行。

Checked exceptions are subject to the Catch or Specify Requirement. All exceptions are checked exceptions, except for those indicated by Error, RuntimeException, and their subclasses.

现在我认为它是一样的。但经过更多搜索后,我发现了一些理论上的差异。

异常:可恢复

错误:不可恢复。

异常示例:

try{
read file
}
catch(FileNotFoundException e){
// how I can recover here? can i create that file?
// I think we can just make log file to continue or exit.
}

错误示例:

try{
try to locate memory
}
catch(MemoryError e){
// I think we can just make log file to continue or exit.
}

已编辑我问的是可恢复和不可恢复。

最佳答案

错误,如您所知,意味着您遇到了严重的麻烦。在 catch block 中,您也许可以执行诸如日志记录之类的操作,但基本上仅此而已。

不可恢复的异常主要是运行时异常,如 NullPointerException。它们通常是程序代码中某些遗漏检查的结果。因此,解决方案通常是修复代码。

可恢复的异常是您事先知道会发生并采取某些措施的事情。想一想调用某些后端服务的 Web 应用程序。该服务可能可用也可能不可用,这会导致操作执行失败。因此,您有一个已检查的异常,在这种情况下很可能是您抛出的自定义异常,然后以您告诉用户的方式在前端代码中处理它,对不起,后端服务 xy 已关闭,稍后再试或联系支持人员.

可恢复并不意味着应用程序可以执行某些操作来解决异常的原因,尽管在某些情况下这是可能的。

关于java - 可恢复和不可恢复的异常或错误是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36099102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com