码迷,mamicode.com
首页 > 其他好文 > 详细

try-except-else-finally

时间:2020-01-02 15:35:58      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:class   his   互斥   lse   ase   odi   str   代码   col   

def test(a):
    try:
        print(this is try...)
        if a == 0:
            raise ZeroDivisionError(customize erro)
        # 如果try有return则不再执行else的代码
        return str(10/a)
    # 多个except之间是互斥关系
    except BaseException as e:
        print(this is except 1... + str(e))
        return except 1
    except ZeroDivisionError as e:
        print(this is except 2... + str(e))
        return except 2
    #
    else:
        print(this is else...)
        return (else)
    finally:
        # finally中的代码,无论什么情况都要执行,即使之前有return!
        print(this is finally...即使有return也要先执行finally之后再执行return!)
        # 如果finally中有return会覆盖之前的return,如果finally中没有则用之前的return
        return finally


print(the result is: +str(test(0)))

1、组合:try-except,try-finally,try-except-else,try-except-finally,try-except-else-finally

2、else的代码是执行成功没有报错的情况才执行,如果try中有return则不会执行else中的代码

3、多个except之间是互斥的关系

4、即使在finally之前有return也会执行finally的代码,finally中的return会覆盖之前的return

try-except-else-finally

标签:class   his   互斥   lse   ase   odi   str   代码   col   

原文地址:https://www.cnblogs.com/turbolxq/p/12132883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!