python中try-except-finally异常捕获返回值状况说明

  1. 无异常,finally代码块中包含return语句
def test_return01():
    try:
        print('into try code block')
        return 'try return value'
    except:
        print('into except code block')
        return 'except return value'
    finally:
        print('into finally code block')
        return 'finally return value'

输出结果:
在这里插入图片描述
2. 无异常,finally代码块中不包含return语句

def test_return02():
    try:
        print('into try code block')
        return 'try return value'
    except:
        print('into except code block')
        return 'except return value'
    finally:
        print('into finally code block')

输出结果:
在这里插入图片描述
3.有异常,finally代码块中不包含return语句

def test_return03():
    try:
        print('into try code block')
        raise Exception('异常语句')
        return 'try return value'
    except:
        print('into except code block')
        return 'except return value'
    finally:
        print('into finally code block')

输出结果:
在这里插入图片描述
4.有异常,finally代码块中包含return语句

def test_return04():
    try:
        print('into try code block')
        raise Exception('异常语句')
        return 'try return value'
    except:
        print('into except code block')
        return 'except return value'
    finally:
        print('into finally code block')
        return 'finally return value'

输出结果:
在这里插入图片描述
总结:若finally代码块中包含return语句,不管是否有异常,都返回finally代码块中的返回值;若finally代码块中无return语句,若无异常则返回try代码块中的return值,有异常则返回except代码块的return值,返回之前会先执行finally代码块中的语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuerba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值