文章目录
一、异常的本质
二、try…except
(一)try…except基本结构
try:
被监控的可能引发异常的语句块
except BaseException[as e]:
异常处理语句块
try块中包含着可能引发异常的代码,except块则用来捕捉和处理发生的异常。如果try块中没有引发异常,则跳过except块,继续执行后续代码;如果try块中有异常,则跳过try块,到except块中处理异常;异常处理完毕后,继续执行后续代码。
while True:
try:
x=int(input("请输入一个数字"))
if x==88:
print("恭喜您猜对了")
break
except BaseException as e:
print(e)
print("异常,输入的不是数字")
print("循环数字输入程序终止!")
(二)try…多个except结构
except BaseException可以捕捉所有的异常,但是我们一般建议尽量捕捉可能出现的多个异常(按照先子类后父类的顺序),并且针对性的写出异常处理代码,最后再加上except BaseException。结构如下:
try:
被监控的、可能引发异常的语句块
except Exception1:
处理exception1的语句块
except Exception2:
处理Exception2的语句块
…
except BaseException:
处理可能遗漏的异常语句块
#测试try...多个except结构
while True:
try:
a=input("请输入一个被除数:")
b=input("请输入一个除数:")
c=float(a)/float(b)
print(c)
break
except ZeroDivisionError:
print("除数不能是0")
except ValueError:
print("输入的不是数字")
except NameError:
print(