有些任務不應該並行完成(例如打開文件,讀取,寫入和關閉,這裏有一個命令。 ..)非順序任務中的Java異常處理(模式/良好實踐)
但是......有些任務更像是SHOPING列表,我的意思是,他們能有一個理想的訂單,但它不是在通信或裝載independient司機等一must..example ..
對於那種任務, 我想知道一個java的最佳實踐或管理例外模式..
java的簡單方法是:
getUFO {
try {
loadSoundDriver();
loadUsbDriver();
loadAlienDetectorDriver();
loadKeyboardDriver();
} catch (loadSoundDriverFailed) {
doSomethingA;
} catch (loadUsbDriverFailed) {
doSomethingB;
} catch (loadAlienDetectorDriverFailed) {
doSomethingC;
} catch (loadKeyboardDriverFailed) {
doSomethingD;
}
}
但是關於其在動作中的一個例外,但希望 嘗試下一個什麼樣的人?
我以爲這種做法,但似乎並沒有成爲例外很好的利用 我不知道,如果它的工作原理,沒關係,這真的可怕!
getUFO {
Exception ex=null;
try {
try{ loadSoundDriver();
}catch (Exception e) { ex=e; }
try{ loadUsbDriver();
}catch (Exception e) { ex=e; }
try{ loadAlienDetectorDriver();
}catch (Exception e) { ex=e; }
try{ loadKeyboardDriver()
}catch (Exception e) { ex=e; }
if(ex!=null)
{ throw ex;
}
} catch (loadSoundDriverFailed) {
doSomethingA;
} catch (loadUsbDriverFailed) {
doSomethingB;
} catch (loadAlienDetectorDriverFailed) {
doSomethingC;
} catch (loadKeyboardDriverFailed) {
doSomethingD;
}
}
似乎並不複雜找到這樣做的。我還沒有
感謝您的任何意見的確
問題的核心部分是如何使代碼像第一個一樣乾淨,但功能與第二個一樣(它不會中斷過程,讓我們嘗試下一個語句)。 當然,如果不僅讓我們去嘗試下一個,但如果它讓我們「重試」失敗的...... – 2010-04-23 16:38:28