我知道在引入InterruptedIOException时没有太多选择。它必须是IOException的子类。
如果您想知道线程是否被中断,那么InterruptedIOException的唯一存在无疑会让生活变得有点复杂。这是因为如果要维护线程被中断的信息,则必须将InterruptedIOException与IOException区别对待。
虽然InterruptedIOException是为java.nio发明的,但据报道,至少在 Solaris 下,有java.io方法会抛出InterruptedIOException。此外,对于新的 Android 版本,库会面临从java.io迁移到java.nio或其他方法以某种方式映射的风险。
我倾向于认为应该考虑到InterruptedIOException是安全的。你怎么看?洞察力、经验、策略?