上記が正しければ
それは...
[...]これは、メソッドがその例外を生成する可能性があるかどうかを知るために、Java に組み込まれているすべてのチェック済み例外を理解する必要があるということですか? それとも、コードをコンパイルしてから、コンパイル時のエラーに基づいてコードを修正する必要がありますか?
IDE を使用してください。それらすべてを詳しく知る必要はありません。
ただし、チェックしたいのは階層です (つまり、javadoc をチェックしてください! これはパブロフ反射である必要があります)。例外はクラスであるため、互いに継承し、たとえば、FileSystemException
ファイルシステム関連の問題を通知するための java.nio.file のかばん例外であり、IOException
. IOException
特別扱いしたい場合は、事前にキャッチしてください。
原則として、より具体的な例外を最初にキャッチします。
また、キャッチしないでException
ください。一度もない。問題は、チェックさRuntimeException
れていない例外の基本例外である がを継承していることです。つまり、キャッチすると、チェックされていない例外をすべてキャッチすることになります。チェックされていないものを再スローしたい:Exception
Exception
try {
something();
} catch (RuntimeException unchecked) {
throw unchecked;
} catch (Exception e) {
// deal with e
}