有些任务不应该并行完成(例如打开文件,读取,写入和关闭,这里有一个命令。 ..)非顺序任务中的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