以往总是习惯使用if-else这样的方式去写多重判断,但是在看到别人的一篇关于try-catch来减少代码的嵌套后,我顿时发现这种语法结构的好处。
比如有一个代码用if-else的形式需要下面这样写:
if(a){
if(b)c();
else if(d){
if(e)f();
else if(g)h();
}else i();
}else j();
三重嵌套的条件判断,看着就很恶心了。而使用try-catch则可以写成完全顺序的流程:
try{
if(!a)throw j;
if(b)throw c;
if(!d)throw i;
if(e)throw f;
if(g)throw h;
}catch(func){
func();
}
这样写法的好处是流程非常清晰直观,尤其是遇到复杂的业务逻辑时,不会让整个程序的复杂度垂直上升。 除此之外function,switch之类的语法结构也可以实现类似的效果,这里就不举例了。
相关文档
暂无
随便看看
畅言模块加载中