2011-02-05 22 views
0

我有一個for循環的這個奇怪的問題。 這僅環遍歷一次,而應該重複多次(其中有3-4個元素,這取決於一些不相關的for循環在HttpServer行爲不端

這裏是代碼:

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的「句柄(HttpExchange)」方法執行。

有沒有人有任何想法這裏發生了什麼?

在此先感謝!

+0

附上調試器和跟蹤找出? – 2011-02-05 19:37:47

+0

1)嘗試將所有方法代碼放在try {} catch(Throwable){}塊中。 2)是否有多​​線程? – 2011-02-05 19:38:47

回答

0

知道沒有例外被拋出?或者簡單地說,沒有例外報道?我會將迭代器塊的內容封裝在try/catch中,並報告任何異常。