私はJavaが初めてで、例外処理を見ていました。Java 例外をキャッチするとObject、Exceptionクラスの を初期化せずに宣言して使用します。
catch(NullPointerException e)
e.printStackTrace();
私の質問は、オブジェクト参照 e をインスタンス化せずにどのように使用できるのでしょうか?
私はJavaが初めてで、例外処理を見ていました。Java 例外をキャッチするとObject、Exceptionクラスの を初期化せずに宣言して使用します。
catch(NullPointerException e)
e.printStackTrace();
私の質問は、オブジェクト参照 e をインスタンス化せずにどのように使用できるのでしょうか?
throwステートメントでエラーが発生すると、(多くの場合) 例外がインスタンス化されます。例えば、
throw new NullPointerException();
(これは単なる例であることに注意してください。通常、NPE は独自のコードで明示的にスローされることはありません。)
このcatch節は、パラメーターを宣言する関数に似ています。関数を考える
void func(String s) {
// ...
}
funcをインスタンス化しませんs。は別のString場所で作成され、関数に渡されます。同様に、で例外を作成し、パラメータのような句throwに「渡され」ます。catch