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

try except嵌套之异常的传递

老董-我爱我家房产SEO2020-08-01168围观,147赞

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

  1. # -*- coding: utf-8 -*-
  2.  
  3. try:
  4. dic = {}
  5. try:
  6. name = dic['name']
  7. if name == 'python66':
  8. print('我在python66学习python')
  9. except IndexError as e: # 并不是IndexError
  10. print(e)
  11. finally:
  12. print('内部的try')
  13.  
  14. except KeyError as e:
  15. print('外部捕获异常',e)
  16.  
内部的try
外部捕获异常 'name'

  1. # -*- coding: utf-8 -*-
  2. try:
  3. try:
  4. dic = {}
  5. try:
  6. name = dic['name']
  7. if name == 'python66':
  8. print('我在python66学习python')
  9. except IndexError as e: # 并不是IndexError
  10. print(e)
  11. finally:
  12. print('内部的try')
  13.  
  14. except NameError as e: # 并不是NameError
  15. print('第二层捕获异常',e)
  16. finally:
  17. print('第二层的try')
  18. except Exception as e:
  19. print('外层层捕获异常',e)
  20.  
  21.  
内部的try
第二层的try
外层层捕获异常 'name'

很赞哦!

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

文章评论

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

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200