我在鏈系統中使用異常處理的不同方法。Java方法拋出它的原型,但不會拋出任何異常從它的身體
請找我下面的代碼結構:
mainflowMethod {
try{
outerMethod();
}
catch(SystemException se){
//handle exception here
}
catch(BusinessException be){
//handle exception here
}
}
outerMethod throws SystemException, BusinessException {
try{
innerMethod();
if(some_condition_matched){
throw new SystemException(errcode1111);
}
}
catch (OTHERException) {
//some other exception handling
// but neither SystemException nor BusinessException
}
}
innerMethod throws SystemException, BusinessException {
doProcess();
}
doProcess throws SystemException, BusinessException {
throw new BusinessException(errcode2222);
}
現在的疑問是:
的BusinessException(errcode2222)是否達到了mainFlowMethod(),或者它會丟失在任何地方?
SystemException(errcode1111)是否會達到mainFlowMethod()或者它會在任何地方丟失?
請幫我擺脫這種懷疑。提前致謝 !!
爲什麼不運行它並找出自己的?代碼就在你面前! – f1sh
建議做不同的事情:嘗試將你的方法推入不同的類;因爲這會讓你**嘲笑其他類。突然之間,您可以編寫單元測試,保證您在其他地方發現異常。 – GhostCat