Cla*_*diu 2 language-agnostic design-patterns coding-style
我有一个逻辑函数,如下所示:
doStuff1()
try:
doStuff2()
except type1:
error1()
return endstuff()
except type2:
error2()
return endstuff()
except:
error3()
return endstuff()
if doStuff3():
error4()
return endstuff()
doStuff4()
return endstuff()
Run Code Online (Sandbox Code Playgroud)
如您所见,endstuff()在函数的每个可能出口处完成.就像现在一样,endstuff()实际上是2行代码,我最近不得不在所有可能的退出中添加第三行代码.有没有更优雅的方式来组织这个代码?我不能只使用a finally,因为抛出异常的情况并非总是如此.