我在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
元素class:java.lang.String
注意,它从来没有打印出最后一个System.out.println!它神秘地破裂并退出。没有抛出异常或其他任何东西,这段代码是由com.sun.net.httpserver.HttpHandler的"handle(HttpExchange)“方法编写的。
有人知道这是怎么回事吗?
提前感谢!
发布于 2011-02-06 03:39:21
你知道不会抛出异常吗?或者只是简单地说没有报告异常?我会将迭代器块的内容包装在一个try/catch中,并报告任何异常。
https://stackoverflow.com/questions/4909181
复制相似问题