Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpServer中的for循环行为不正常_Java_Http_Httpserver - Fatal编程技术网

Java HttpServer中的for循环行为不正常

Java HttpServer中的for循环行为不正常,java,http,httpserver,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.getCl

我对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

_元素。大小=4

元素类:java.lang.String

请注意,它永远无法打印最后一个System.out.println!它神秘地断裂并退出。 没有抛出异常或任何异常,并且此代码部分由com.sun.net.httpserver.HttpHandler的handleHttpExchange方法执行

有人知道这里发生了什么吗


提前谢谢

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

附加一个调试器和跟踪,以发现问题。1尝试将所有方法代码放在try{}catchThrowable{}块中。2有多线程吗?@Dan Grossman我确实试着在这里和那里设置断点,但什么都没有发生,线程只是回到了它的起始位置。哦,你说得对!我抛出了一个NPE,但不知怎么的,线程仍然活着或是别的什么。也许sun的实现捕获到任何异常,只是没有将其抛出到默认错误流中。@yacov,您可以回答下面的问题并接受它作为答案,或者接受此答案作为正确答案。