0

forループでこの奇妙な問題があります。このループは 1 回だけ反復しますが、さらに反復する必要があります (関係のないものに応じて、3 ~ 4 個の要素が含まれています。

コードは次のとおりです。

System.out.println("Executing " + url);
System.out.println("_elements.size()=" + _elements.size());
for (Object el : _elements) {
        System.out.println("element class:" + el.getClass().getName());
        if (el instanceof DynamicServlet) {
            ((DynamicServlet) el).execute();
            _stringBuff.append(((DynamicServlet) el).getOutput());
            }
        if (el instanceof String)
            _stringBuff.append((String)el);
} // for

System.out.println("finished for loop");

プログラムは次の行を出力します。

/admin.dsp の実行

_elements.size()=4

要素クラス:java.lang.String

最後の System.out.println が出力されないことに注意してください。不思議なことに壊れて出ます。スローされる例外などはありません。このコード セクションは、com.sun.net.httpserver.HttpHandler の「handle(HttpExchange)」メソッドによるものです。

ここで何が起こっているのか誰にも分かりませんか?

前もって感謝します!

4

1 に答える 1

0

例外がスローされていないことを知っていますか? それとも単に例外が報告されていないということですか? イテレータ ブロックの内容を a でラップし、try/catch例外を報告します。

于 2011-02-05T19:39:20.877 に答える