最近在项目中遇到这样的情况,在while循环中处理数据,当异常发生时需要捕获异常,处理后使用continue跳过后面部分代码

问题:如果在异常处理中添加finally从句,是否会因为except从句中的continue而被跳过

结论:不会,continue、break语句只会影响while循环的逻辑,异常处理机制不受影响

实验代码:

#!/usr/bin/python
#--coding:utf-8--
import time

def test():
    while True:
        try:
            a = 1/0
        except Exception as e:
            print ("exception")
            continue
            #break
        finally:
            print ("finally")
            time.sleep(3)
        print ("out of try")

if __name__ == '__main__':
    test()

打印结果:

exception
finally
exception
finally
......
......
exception
finally

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐