第一种 用exception
try:
inp = input('请输入你的内容>>>')
vlaue = int(inp)
print(vlaue)
except Exception as e:
print(e)
第二种 用特定的异常先捕获,最后在用exception
try:
inp = input('请输入你的内容>>>')
vlaue = int(inp)
except ValueError as e:
print('ValueError',e)
except Exception as e:
print('Exception',e)
第三种 try except else 当没有异常发生时,执行else内容
try:
inp = input('请输入你的内容>>>')
vlaue = int(inp)
except ValueError as e:
print('ValueError',e)
except Exception as e:
print('Exception',e)
else:
print('没有发生异常的时候,我的内容才会显示')
第四种 try except finally 无法是否发生异常,都会执行finally代码段的内容
try:
inp = input('请输入你的内容>>>')
vlaue = int(inp)
except ValueError as e:
print('ValueError',e)
except Exception as e:
print('Exception',e)
finally:
print('不管有没有发生异常,我都会执行的,通常我做一些关闭或者清理工作')
第5种:通过raise关键字 主动抛出异常
try:
#inp = input('请输入你的内容>>>')
#vlaue = int(inp)
raise Exception('我只能处理整数,字符串我没有能力处理')
except Exception as e:
str_error = str(e)
print(str_error)
第6种,自定义异常,根据要求自定义
class OldBoyError(Exception):
def __init__(self, msg):
self.message = msg
def __str__(self): #调用print方法会执行__str__方法
return self.message
try:
raise OldBoyError('我错了...')
except OldBoyError as e:
print(e)# e对象的__str__()方法,获取返回