您的位置: 网站首页> python基础> 当前文章

try except嵌套之异常的传递

老董2020-08-01162围观,145赞

  如果在程序中发生了try嵌套,那么如果里面的try没有捕获到这个异常,外面的try就会接收到这个异常,然后进行处理,如果外边的try依然没有捕获到,那么再往外进行传递。

# -*- coding: utf-8 -*-

try:
    dic = {}
    try:
        name = dic['name']
        if name == 'python66':
            print('我在python66学习python')
    except IndexError as e: # 并不是IndexError
        print(e)
    finally:
        print('内部的try')

except KeyError as e:
    print('外部捕获异常',e)

内部的try
外部捕获异常 'name'


# -*- coding: utf-8 -*-
try:
    try:
        dic = {}
        try:
            name = dic['name']
            if name == 'python66':
                print('我在python66学习python')
        except IndexError as e: # 并不是IndexError
            print(e)
        finally:
            print('内部的try')

    except NameError as e: # 并不是NameError 
        print('第二层捕获异常',e)
    finally:
        print('第二层的try')
except Exception as e:
    print('外层层捕获异常',e)


内部的try
第二层的try
外层层捕获异常 'name'

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    try except嵌套之异常的传递文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 博主微信:a772483200