2016-05-12 5 views
-1

私はRedHat 7マシンを持っており、Ext4に常駐する通常のファイルのサイズを取得したいと考えています。FilesNotFoundException以外のどの例外がFiles.size(Path)をスローできますか?

Files.size()はIOExceptionを宣言します。 FileNotFoundException以外に、どの例外がスローされる可能性がありますか?

Java 7とnioパッケージを使用しています。

+1

なぜあなたは気にしていますか?ドキュメントには 'IOException'や' SecurityException'と書かれているので、あなたはそれに頼るしかありません。残りは実装の詳細です。 – Tunaki

+0

FileNotFoundException(ファイルをスキップする)を処理する方法を知っていて、他の例外をスキップするか、無限に再試行する必要があるかどうかを知りたい場合 – Tim

答えて

0

このメソッドがFileNotFoundExceptionをスローすることはできません。

それは投げることができるのFileSystemException、1:

  • NoSuchFileException、
  • AccessDeniedException、
  • 他人。

また、ファイルシステムレベルのエラーではなく、I/Oレベルのエラー(ディスクの問題かもしれません)を意味するIOExceptionがスローされることがあります。要するに

、どちらかに対処するための最良の方法は次のとおりです。

try { 
    Files.size(...); 
} catch (FileSystemException e) { 
    // deal with fs level error 
} catch (IOException e) { 
    // deal with I/O level error 
} 
+0

FNFEをスローできないことをどのように知ることができますか? javadocはそれについて何も言いません... – assylias

+1

@assylias JSR 203メソッドのどれもその例外をスローできません。 JSR 203では、この例外は 'FileSystemException'と' NoSuchFileException'などを含む子に取って代わります。 – fge

関連する問題