0

我有一个 for 循环的奇怪问题。这个循环只迭代一次,而它应该迭代更多次(它有 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 回答