作者pakx ( bouer)
看板java
標題[問題] 超時的例外處理
時間Thu Sep 9 11:37:20 2010
板上各位大大好
小弟現在有一段try catch的code,希望try裡面的程式碼執行了一段時間之後,
不論有沒有執行完,都可以跳到catch裡面去。
目前的想法是,使用一個thread來計時,但是卻不知道如何讓這個thread start
之後有例外丟出來?
簡易程式碼如下:
try{
MyThread myThread = new MyThread();
myThread.start();
// Do Job
ajob();
bjob();
cjob();
djob();
} catch(Exception e){
e.printStackTrace();
}
也就是希望ajob, bjob, cjob, djob不論執行到哪一個,時間到了就會跳到catch裡面
。
另外,不能使用flag的方式,也就是job可能還在執行中,時間就到了,然後就跳到catch
裡面,小弟想破頭也想不出來,勞價板上各位大大了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.83.29.238
※ 編輯: pakx 來自: 111.83.29.238 (09/09 11:39)
→ pico2k:tips:java.util.timer 09/09 11:46
→ pakx:但是TimerTask與Timer的例外都會被自己捕捉,要怎麼讓他丟到 09/09 11:58
→ pakx:外面來? 09/09 11:59
→ elenaser:計次變數++ if(條件)throw new ArithmeticException(); 09/09 13:27
→ pakx:不懂@@,可以給個範例看看嗎,感謝 09/09 13:29
→ elenaser:恩 等我一下我吃個飯 09/09 13:32
→ AmosYang:倒不如開新的 thread 執行 a,b,c,d job() ... 09/09 21:29