0

チェックされた/チェックされていない例外と混同されています。RunTimeExceptionはチェックされていない例外だと思いますが、なぜそれがExceptionクラスに分類されるのですか?

ケースを考えてみましょう..私のスーパークラスコンストラクターはRunTimeExceptionをスローし、サブクラスコンストラクターは何もスローしません..その場合、サブクラスでコンパイル時エラーは発生しません。RuntimeExceptionがチェックされていない例外であっても発生するのはなぜですか?

サックス、グニャン・シャー。

4

1 に答える 1

2

チェックされた例外は、クラスRuntimeExceptionとそのサブクラスを除く、Exceptionのサブクラス(またはException自体)です。

例外をチェックすると、クライアントプログラマーは例外がスローされる可能性に対処する必要があります。たとえば、java.io.FileInputStreamのread()メソッドによってスローされるIOException

チェックされていない例外は、RuntimeExceptionとそのサブクラスのいずれかです。クラスエラーとそのサブクラスもオフになっています。

ただし、チェックされていない例外がある場合、コンパイラーはクライアント・プログラマーに例外をキャッチするか、throws節で宣言するように強制しません。実際、クライアントプログラマーは、例外がスローされる可能性があることさえ知らない場合があります。たとえば、StringのcharAt()メソッドによってスローされるStringIndexOutOfBoundsException。

チェックされた例外は、コンパイル時にキャッチする必要があります。ランタイム例外はである必要はありません。エラーは回復不能になる傾向があるため、多くの場合、エラーは発生しません。

于 2012-05-09T07:51:47.813 に答える