за цикл в HttpServer плохо себя ведет - PullRequest
0 голосов
/ 05 февраля 2011

У меня странная проблема с циклом 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! Он таинственным образом ломается и завершается. Исключение не выдается или что-либо еще, и этот раздел кода выполняется методом «handle (HttpExchange)» com.sun.net.httpserver.HttpHandler.

Кто-нибудь знает, что здесь происходит?

Заранее спасибо!

1 Ответ

0 голосов
/ 05 февраля 2011

Знаете ли вы , что не было выброшено никаких исключений? Или просто о том, что об исключениях не сообщается? Я бы обернул содержимое блока итератора в try/catch и сообщил бы о любых исключениях.

...