try--except--else-finally
异常处理场景:在程序运行的过程中,如果某一处代码有报错,那么程序就不会继续运行后面的代码,而我们又需要在程序正常运行。
try except
语句作用,捕获程序在执行的过程中遇到的异常情况,并且在异常情况下,正常运行。
案例:
遍历一个列表numbers
,打印1024 除以 列表中的每个元素,当i
=0,代码则会报错,且不会继续执行。
numbers = [1, 0, 2, 4]
for i in numbers:
print(1024 / i)
想让代码继续执行,捕获异常,且让程序继续运行。try--except
可以处理这样的情况。
try--except
语句numbers = [1, 0, 2, 4]
for i in numbers:
try:
print(1024 / i)
except:
print('分母不能为“0”')
从运行结果可以总结出,当i
=0,try--except
捕获异常,并打印出现我们提示的信息。
如果我们需要知道具体的报错信息,便于定位问题:
numbers = [1, 0, 2, 4]
for i in numbers:
try:
print(1024 / i)
except Exception as e:
print('分母不能为“0”')
print(f'异常信息:{e}')
try--except--else
语句当没有异常发生时,执行else
语句
numbers = [1, 0, 2, 4]
for i in numbers:
try:
print(1024 / i)
except:
print('分母不能为“0”')
else:
print('如果没有异常,执行else')
try--except--finally
语句不管有没有异常,finally
语句都会执行。
numbers = [1, 0, 2, 4]
for i in numbers:
try:
print(1024 / i)
except:
print('分母不能为“0”')
finally:
print('不管有没有异常,我都会执行')