2:try_except基本结构
try...一个 except 结构
try...except 是最常见的异常处理结构。结构如下:
try:
被监控的可能引发异常的语句块
except BaseException [as e]:
异常处理语句块
try 块包含着可能引发异常的代码,except 块则用来捕捉和处理发生的异常。执行的时候,如果 try 块中没有引发异常,则跳过 ecept 块继续执行后续代码;执行的时候,如果 try块中发生了异常,则跳过 try 块中的后续代码,跳到相应的 except 块中处理异常;异常处理完后,继续执行后续代码。
print("setp0")
try:
print("setp1")
a = 3/0
print("setp2")
except BaseException as e:
print("setp3")
print(e)
print("setp4")
运行结果:
"D:\Program Files\Python310\python.exe" D:\work\python\four\mypy02.py
setp0
setp1
setp3
division by zero
setp4
进程已结束,退出代码0
我们可以看到,程序执行到引发异常的语句时,直接掉到 except 异常处理语句块进行处理;处理完毕后,继续执行下面的程序。
try:
print("step1")
a = 3 / 2
print("step2")
except BaseException as e:
print("step3")
print(e)
print("step4")
输出结果:
"D:\Program Files\Python310\python.exe" D:\work\python\four\mypy03.py
step1
step2
step4
进程已结束,退出代码0
try 语句块没有发生异常,则正常执行完 try 块后跳过 except 异常处理语句块,继续往下执行。
while True:
try:
x = int(input("请输入一个数字:"))
print("您入的数字是", x)
if x == 88:
print("退出程序")
break
except:
print("异常:输入的不是一个数字")
输出结果:
"D:\Program Files\Python310\python.exe" D:\work\python\four\mypy04.py
请输入一个数字:6
您入的数字是 6
请输入一个数字:a
异常:输入的不是一个数字
请输入一个数字:88
您入的数字是 88
退出程序
进程已结束,退出代码0