[代码笔记] python之 异常处理 try except else finally

时间:2022-12-15 13:35:37
#!/usr/bin/python3
#文件名: demo_exception.py
# python之异常处理

while True :
try:
number=int(input('请输入一个数字:'))#要求从控制台输入数字,但实际输入字母即发生异常
#break
except ValueError:
print('你输入的不是一个数字,你不是正真的清真!')#当捕获到异常时,可以给出提示,也可以扔出去(下一句)
#raise
except :
print('Oh no,出现了其他的异常!Like :KeyboardInterrupt')#可以有多个except,但不带异常参数的except必须放在最后(当然不要也行),它可以捕获所有异常
#raise
else:
print('好的,没有出现任何问题!')#当未发生异常是,会执行此代码,在此循环中,如果之前有break则不执行
break
finally:
print('What ever , You need Run me!')#无论是否发生异常都会执行,

#自定义异常(涉及到类与对象,自己懵逼中)

class MyError(Exception):
def __init__(self,value):
self.value=value

def __str__(self):
return str('异常原因:'+self.value)

try:
raise MyError('我是异常原因,你找我?')
except MyError as e:
print(e)

打印如下:

请输入一个数字: a#输入了a
你输入的不是一个数字,你不是正真的清真!
What ever , You need Run me!
请输入一个数字:3 #输入了3
好的,没有出现任何问题!
What ever , You need Run me!
异常原因:我是异常原因,你找我?