0

次のように、不十分に記述されたコードの平和があります。

HashMap<String, TceFile> mapPresetLastKdf = new HashMap<String, TceFile>( (HashMap<String, TceFile>) RsessionVars.get( sessionVars, Constants.SVAR_ENC_PRESET_LAST_KDF_MAP ) );   
HashMap<String, String>  mapPresetApid    = new HashMap<String, String >( (HashMap<String, String >) RsessionVars.get( sessionVars, Constants.SVAR_ENC_PRESET_APID_MAP     ) );

明らかに、 をRsessionVars.get返す場合、最初の行は失敗しますnull。その場合、2 行目は実行されません。

ただし、Eclips IDE はこの失敗を通知せず、すべて問題ないので実行を続けます。

このようなコードには多くの場所があると思います。どうすればそれらを検出できますか?

このような行でEclipseを強制的に停止してエラーを報告するにはどうすればよいですか?

編集
これは例外処理に問題があるようです。

HashMap<String, TceFile> mymap = new HashMap<String, TceFile>( null ); 

nullこれはポインタ例外を報告するはずです。
この例外がどこにも表示されないのはなぜですか?

4

4 に答える 4

0

このようなエラーを処理するようにワークスペースが正しく設定されていない可能性があります。[ウィンドウ] -> [設定] -> [Java] -> [デバッグ] に移動すると、使用可能なオプションのリストが表示されます。あなたが調べたいと思うかもしれないのは、「キャッチされていない例外で実行を中断する」です。オンにすると、例外がキャッチされない場合、Eclipse は自動ブレークポイントを設定します。

また、例外の種類がわかっている場合は、「Java 例外ブレークポイント」を追加できます。これは、デバッグ/ブレークポイント ウィンドウ (「J」と感嘆符) で使用できます。探しています。それ以外は、コードを複数行に分けると、読みやすく、デバッグしやすくなります。

于 2013-05-16T14:34:03.233 に答える