今天笔者在写一个脚本时,情况比较复杂,在脚本中使用了try...except的嵌套,遇到了一些与预期不一样的结果
于是笔者又研究了一下,try...except的嵌套使用,
首先有一点是肯定的,那就是对于一对try...except组,只要当try中的语句出现了异常,就会执行except中的语句块
对于try...except的嵌套,这里先看一下,笔者整理的一个简单的例子,能更加方便说明这个原理
#!/usr/bin/env python3 try: print("Start--try-01") try: print("Start--try-02") print("Author"-"QQ5201351") print("End--try-02") except: print("Start--except-02") try: print("开始执行第三层try") print("Author"-"QQ5201351") except: print("Start--except-03") print("Author"-"QQ5201351") print("End--except-03") except: print("第一层异常!!!!!!!!!")
执行结果如下:
多次改动代码测试,总结有如下几点说明:
1、只有当try中的语句出现了异常,才会执行与自己成对的except中的语句
2、对于子try...except语句块,当子except中的语句出现了异常,就会执行最外层的except语句块,因为会视为最外层的try有异常了
3、对于子try...except语句块,如果子except中没有异常,就不会执行最外层的except语句块,所有的try...except语句就算执行结束了
尊重别人的劳动成果 转载请务必注明出处: https://www.cnblogs.com/5201351/p/17259431.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!