Есть некоторая задача, которая должна выполняться параллельно (например, открытие файла, чтение, запись и закрытие, есть порядок на этом. ..)Обработка исключений Java в несекретных задачах (шаблон/хорошая практика)
но ... Некоторые задачи больше похожи на Shoping список, я имею в виду, они могут иметь желаемый порядок, но это не must..example в связи или загрузки independient водителей и т.д ..
Для такие задачи, Я хотел бы знать лучшие практики или шаблоны для управления исключениями.
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;
}
}
, похоже, не сложно найти лучшую практику делать это .. Я до сих пор не
спасибо за любые советы
Центральная часть вопроса заключается в том, как сделать код чистым, как первый, но функциональный как второй (он не прерывает процесс и позволяет попробовать следующие утверждения). И, конечно, было бы здорово, если бы не только попробовать попробовать следующие, но если он позволит «повторить» неудачные ... –