Exception クラスを拡張して CustomExceptionを作成すると、コンパイラによってチェックされますが、RuntimeExceptions は Exception クラスを拡張してもコンパイラによってチェックされません。
これはコンパイラでどのように確立されますか。JLSで、その理由を説明しているセクションを見つけました。
実行時例外がチェックされない理由 実行
時例外クラス (RuntimeException とそのサブクラス) は、コンパイル時のチェックから除外されます。Java プログラミング言語の設計者の判断では、そのような例外を宣言する必要があることは、正当性を確立する上であまり役に立たないからです。プログラムの。Java プログラミング言語の操作と構造の多くは、実行時例外を引き起こす可能性があります。コンパイラーが利用できる情報、およびコンパイラーが実行する分析のレベルは、通常、このような実行時例外が発生しないことを証明するには十分ではありません。そのような例外クラスの宣言を要求することは、プログラマーにとって単純に苛立たしいことです。
マーカー インターフェイスの場合のように、舞台裏で何かが起こっているのでしょうか。
それがどのように行われるか、またすべてのチェック済み例外に親クラスがない理由を説明できるソースを探していますか?