-6

プログラムの実行中にこれらのランタイム エラーが発生するとどうなりますか。

  1. Exception in thread "main" java.lang.NullPointerException at WhatHappens.main(WhatHappens.java:7)
  2. Exception in thread "main" java.lang.NoClassDefFoundError: WhatHappen
  3. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at WhatHappens.main(WhatHappens.java:6)
4

2 に答える 2

1

私は、質問が本当に起こったことであることを意味していると仮定しています:

  1. を逆参照しようとしましたnull。たとえば、それを使用してメソッドを呼び出したり、それを使用してフィールドにアクセスしたりします。これは多くの場合、一部のコードがクラス、インスタンス変数、または配列要素の初期化を怠っているために発生します。

  2. クラスのロードまたはクラスの初期化に失敗しました。これにはさまざまな原因が考えられます。

  3. 許容範囲を超えるインデックス値を使用して配列にインデックスを付けようとしました。つまり、インデックス値が 0 より小さいか、より大きいですarray.length - 1


例外がスローされた後に何が起こるかを本当に知りたい場合、答えは、一部のコードが例外をキャッチしない限り、現在のスレッドまたはアプリケーション全体が停止するということです。

次にすべきことは、問題の原因を見つけて修正することです。そのための鍵は、最初に例外がスローされた原因を理解することです。上記を参照。スタック トレースを調べ、エラー メッセージを読み、スタック トレースからクラス名/行番号を読み取ってコードの場所を特定し、分析能力を使用して問題の具体的な原因を突き止めます。

于 2012-10-16T13:26:50.733 に答える