for HttpServer中的循环错误

时间:2011-02-05 19:35:16

标签: java http httpserver

我有一个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!它神秘地打破并退出。 抛出没有Exception或任何东西,这个代码部分是由com.sun.net.httpserver.HttpHandler的“handle(HttpExchange)”方法构成的。

有谁知道这里发生了什么?

提前致谢!

1 个答案:

答案 0 :(得分:0)

知道没有抛出异常吗?或者只是报告没有例外?我会在try/catch中包装迭代器块的内容并报告任何异常。