gpt4 book ai didi

java - Java 中的 IOException 类应该是未经检查的 RuntimeException 吗?

转载 作者:IT老高 更新时间:2023-10-28 20:44:45 25 4
gpt4 key购买 nike

您是否同意 Java 类 java.io.IOException 的设计者应该将其设置为从 java.lang.RuntimeException 派生的未经检查的运行时异常,而不是仅从 java.lang.Exception 派生的已检查异常?

我认为 IOException 类应该是未经检查的异常,因为应用程序几乎无法解决文件系统错误等问题。然而,在 When You Can't Throw An Exception , Elliotte Rusty Harold声称大多数 I/O 错误是暂时的,因此您可以在放弃之前多次重试 I/O 操作:

For instance, an IOComparator might not take an I/O error lying down, but — because many I/O problems are transient — you can retry a few times, as shown in Listing 7:

一般情况下是这样吗? Java 应用程序能否纠正 I/O 错误或等待系统恢复?如果是这样,那么检查 IOException 是合理的,但如果不是这样,则应该取消检查 IOException,以便业务逻辑可以将此异常的处理委托(delegate)给单独的系统错误处理程序。

最佳答案

我知道这个问题被问到已经 4 年了,但是 UncheckedIOException在 Java 8 中添加。

关于java - Java 中的 IOException 类应该是未经检查的 RuntimeException 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624145/

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