7

私はJavaが初めてで、例外処理を見ていました。Java 例外をキャッチするとObjectExceptionクラスの を初期化せずに宣言して使用します。

catch(NullPointerException e)
    e.printStackTrace();

私の質問は、オブジェクト参照 e をインスタンス化せずにどのように使用できるのでしょうか?

4

4 に答える 4

1

throwステートメントでエラーが発生すると、(多くの場合) 例外がインスタンス化されます。例えば、

throw new NullPointerException();

(これは単なる例であることに注意してください。通常、NPE は独自のコードで明示的にスローされることはありません。)

このcatch節は、パラメーターを宣言する関数に似ています。関数を考える

void func(String s) {
    // ...
}

funcをインスタンス化しませんs。は別のString場所で作成され、関数に渡されます。同様に、で例外を作成し、パラメータのような句throwに「渡され」ます。catch

于 2013-06-11T21:38:37.943 に答える