我有一臺RedHat 7機器,並希望獲得駐留在Ext4上的常規文件的大小。FileNotFoundException以外的哪些異常可以拋出Files.size(Path)?
Files.size()聲明IOException。除FileNotFoundException之外,還可能拋出哪些其他例外?
使用Java 7和nio包。
我有一臺RedHat 7機器,並希望獲得駐留在Ext4上的常規文件的大小。FileNotFoundException以外的哪些異常可以拋出Files.size(Path)?
Files.size()聲明IOException。除FileNotFoundException之外,還可能拋出哪些其他例外?
使用Java 7和nio包。
此方法不能拋出FileNotFoundException。
它可以拋出一個FileSystemException
,一:
它也可以拋出一個IOException
這意味着一個I/O級別的錯誤(可能是磁盤問題),而不是文件系統級別的錯誤。
總之,對付要麼是最好的方法:
try {
Files.size(...);
} catch (FileSystemException e) {
// deal with fs level error
} catch (IOException e) {
// deal with I/O level error
}
爲什麼這麼在意?該文檔聲明:'IOException'或'SecurityException',所以你只能依賴它。其餘的是實現細節。 – Tunaki
我知道如何處理FileNotFoundException(跳過文件),並且想要了解是否應該跳過其他異常或無限重試 – Tim