请教一个常见的程序流程问题.
写程序的时候经常回遇见这样的问题.调用一个过程,其中要分配一些资源,如果
调用成功,则继续进行,否则,要释放以前分配的资源.大概结构如下:(设想
FunkA, FunkB, FunkC,FunkD返回值都是BOOL型,表示函数调用是否成功;
DeFunkA,DeFunkB,DeFunkC, DeFunkD分别用于释放FunkA,FunkB,FunkC,FunkD所
分配的资源)
if (FunkA){
if (FunkB){
if (FunkC){
if (FunkD){
....
}
else{ //FunkD Failed, release the earlier allocated resource
DefunkC;
DeFunkB;
DeFunkA;
}
else{ //FunkC Failed, release the earlier allocated resource
DeFunkB;
DeFunkA;
}
}
else{ //FunkB Failed, release the earlier allocated resource
DeFunkA;
}
}
象上面这样的结构显然比较丑陋,而且当嵌套过多时,程序可读性大打折扣,
在这里请教各位,怎样才能给他美容呢.