我们经常用while循环实现一些重复业务逻辑,直到某种条件时,才会退出循环。
如果while循环内部用到了try,在抛出异常的时候我们又想结束循环,那我们会怎么做呢?用类似下面的代码吗?
def verify_code():
while True:
try:
print("我是try里的逻辑")
except Exception as e:
print("出异常了!")
break
verify_code()
那么恭喜你,陷入了死循环。这里break并没跳出while。
我们应该向下面这样:
在循环外面设置一个标志,当内部逻辑达到某个条件时,我们就让这个标志为False,否则就一直循环
def verify_code():
flag=True
a=10
b=1
while flag:
try:
if a==b:
flag=False
else:
b += 1
print("我是try里的逻辑%s" % b)
except Exception as e:
print("出异常了!")
verify_code()