类 java.nio.file.Files 将 FileAlreadyExistsException 作为“可选的特定异常”抛出。这是什么意思?

30t*_*thh 5 java jvm nio

有谁知道,“可选的特定异常”究竟是什么意思?

https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html

有些 JVM 会抛出它,有些则不会?如果他们不这样做,向他们抛出一个通用的 IOException 或根本没有异常?它有关于不同实现的统计数据,它到底有多“可选”?

apa*_*gin 5

来自 Jeff Friesen 所著的《Java I/O、NIO 和 NIO.2》一书:

FileAlreadyExistsException是可选的特定例外的示例。它是可选的,因为当底层操作系统可以检测到导致异常的特定错误时,它会被抛出。如果无法检测到错误,IOException则会抛出其祖先错误。