За цикл в 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! Это таинственно ломается и выходит. Исключение не выдается или что-то еще, и этот раздел кода используется методом "handle(HttpExchange)" com.sun.net.httpserver.HttpHandler.

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

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

1 ответ

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

Другие вопросы по тегам