0

Java コードで非常に奇妙な動作に遭遇しました。Eclipse ログ コンソールException:java.lang.NullPointerExceptionに、発生したコードへの参照がないという例外が表示されます。

デバッグ中に、これが発生した行を見つけたので、それtry-catchをキャッチできるようにしました。ただし、catch ブロックでは返されませんでした。

奇妙な部分は、実行直後の行で例外がスローされ、実行が正常に続行されているにもかかわらずです。

誰か考えられる原因を教えてください。ソースコードを添付することもできましたが、パラメーターを確認したところ、すべて問題ないようです。

この投稿の主な理由は、コーダーのいずれかが遭遇した場合に、そのような動作について学ぶことです。

4

3 に答える 3

0

ビルダーが有効になっていて、変更されたソース コードが自動的にビルドされるかどうかを確認してください。そうしないと、コードの変更がランタイム アプリケーションに反映されません。

実行されたソース コードは、エディターに表示されたソース コードとは異なると確信しています。

于 2013-03-02T13:12:10.147 に答える
0

おそらくEclipseの問題です。以前にその動作を見たことがありますが、Eclipse を再起動すると問題が解決しました。

于 2013-03-02T12:54:37.630 に答える
0

例外のメッセージが表示されてもスタック トレースが表示されない場合は、次のようなコードが原因です。

try
    {
    // something which causes the exception
    }
catch (final Exception err)
    {
    System.out.println(err);
    }

このコードの問題は、例外の.toString()メソッドの結果のみを出力することです。ほとんどの例外では、これは例外クラスとメッセージだけです。このコードではスタック トレースが省略されているため、問題のデバッグが非常に難しくなっています。

例外をキャッチする場合は、コードを次のように変更して、スタック トレースを出力に含めます。

try
    {
    // something which causes the exception
    }
catch (final Exception err)
    {
    err.printStackTrace();
    }
于 2013-03-02T21:16:51.030 に答える