何时可以抛出 IOError?

2022-09-01 14:21:31

我从未见过IOError被抛出的情况。文档对此唯一要说的是:IOError

发生严重 I/O 错误时抛出。

没有任何子类或其他任何明显的东西。

有没有一个案例会被扔在java中?什么可能导致它?IOError

(这不要与IOException混淆 - 在广泛的情况下被抛出,并且被普遍使用;我知道那件事。我想知道不太常见的)。IOExceptionIOError


答案 1

ConsolePath#toAbsolutePathPath#toUri 声明要引发此特定异常。当然,这是一个文档事实,而不是一个实际的声明;因为 是运行时异常,因此在签名中声明它没有任何意义。Error

从它在代码中的样子,并捕获通过其正常操作生成的,然后将其传播到.Console#readLineConsole#readPasswordIOExceptionIOError

实质上,表示底层文件系统的严重故障,或者访问将 Java 绑定到文件系统的某些资源。它不经常被抛出,但如果文件系统内部发生严重的事情,它有可能被抛出。IOError


答案 2

以下是Oracle的Mark Reinhold的解释:

新的 IOError 类是与新的 java.io.Console 类一起定义的。它适用于发生不可恢复的 I/O 错误的情况,最合适的响应是终止程序而不是尝试处理异常。

IOError类以及许多其他增强功能将记录在JCP中即将进行的野马维护审查中。

http://cafe.elharo.com/blogroll/undocumented-changes-in-java-6-mustang-ioerror/


推荐