いまいちボヤっとしてましたので、調べた範囲でまとめておきます。
Exceptionの特徴
実際に,指定されたパス名で示されるファイルが開けなかった場合は、FileNotFoundExceptionに投げられると
思いますが、このクラスは、以下の様にException-IOExceptionの配下ですね。(RuntimeException配下ではない)
java.lang.Object ┗ java.lang.Throwable ┗java.lang.Exception ┗java.io.IOException ┗java.io.FileNotFoundException
FileNotFoundException (Connected Device Configuration (CDC), バージョン 1.1.2)
RuntimeExceptionの特徴
0で除算した場合は、ArithmeticExceptionに投げられると思いますが、このクラスは以下のようにRuntimeExceptionの配下ですね。
java.lang.Object ┗java.lang.Throwable ┗java.lang.Exception ┗java.lang.RuntimeException ┗java.lang.ArithmeticException
ArithmeticException (Connected Device Configuration (CDC), バージョン 1.1.2)
その他補足
全ての例外に対して全部Try Catchしたらコードが分かり辛くてしょうがない
ユーザ定義例外についても、リカバリ処理の要否の観点でどちらのサブクラスにするかを決める
今回調査したのは、ユーザ定義例外をどうしようかな。。と思っていたことが発端でした。