2012-03-10 90 views
0
class TestA implements Runnable { 
    public void run() { 
    try { 
     // do stuff 
    } catch(Exception e) { 
     // ... 
    } finally { 
     // ... 
    } 
    } 
} 

如果發生異常,控件將從程序中退出。我有一個for循環中的10個文件需要處理。如何在獲得異常後繼續執行線程

當第二個文件出現異常時,其餘8個文件不會被處理。但我希望爲失敗創建日誌,並繼續處理剩餘的文件而不終止。有沒有辦法做到這一點?謝謝!!!

+1

重複:http://stackoverflow.com/questions/8490476/java-how-to-continue-reading-a-file-拋出異常之後 – Jon 2012-03-10 00:51:30

回答

3

巢您try/catchfor -loop內部邏輯:

for(...) 
{ 
    try 
    { 
     ... // process the file 
    } 
    catch(...) 
    { 
     ... // deal with the exception 
    } 
} 
+0

嗨,感謝您的回覆。我在一些論壇上看到,使用try/catch塊for循環並不是非常有效。請讓我知道你的想法過程。期待您的迴應!謝謝! – user1257836 2012-03-10 01:03:24

+2

@ user1257836:您只有10個文件;如果一小段代碼對每個文件只運行一次,那麼它只運行十次。所以它不需要*是非常有效的。 – ruakh 2012-03-10 01:05:27

+0

@ user1257836使用try/catch進行流量控制效率不高。使用它來處理特殊情況不是 – nsfyn55 2012-03-10 01:05:48