私は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