在编写高质量代码-改善python程序的91个建议中有一个关于try-finally的一个问题如下:
def ReturnTest(a):
    try:
        if a <= 0:
            raise ValueError('data can not be negative')
        else:
            return a
    except ValueError as e:
        print(e)
    finally:
        print('the end')
        return -1
ReturnTest(0)
ReturnTest(2)
给入参数为0时,输出结果可以解释通,输入参数为2时,就想不通了,书中解释说是在执行return a之前会先执行finally代码块,这是为何?
MMTTMM
当年话下
森林海
相关分类