在编写高质量代码-改善python程序的91个建议中有一个关于try-finally的一个问题如下:defReturnTest(a):try:ifa<=0:raiseValueError('datacannotbenegative')else:returnaexceptValueErrorase:print(e)finally:print('theend')return-1ReturnTest(0)ReturnTest(2)给入参数为0时,输出结果可以解释通,输入参数为2时,就想不通了,书中解释说是在执行returna之前会先执行finally代码块,这是为何?
慕桂英3389331
萧十郎
相关分类