有谁知道,“可选的特定异常”究竟是什么意思?
https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html
有些 JVM 会抛出它,有些则不会?如果他们不这样做,向他们抛出一个通用的 IOException 或根本没有异常?它有关于不同实现的统计数据,它到底有多“可选”?
来自 Jeff Friesen 所著的《Java I/O、NIO 和 NIO.2》一书:
FileAlreadyExistsException是可选的特定例外的示例。它是可选的,因为当底层操作系统可以检测到导致异常的特定错误时,它会被抛出。如果无法检测到错误,IOException则会抛出其祖先错误。