异常处理

demo01.py  异常处理

# 异常处理
# 下标越界
# 语法顺序:try --except --else --finally
try: # try下面写可能出错的代码#
num = input('请输入1-5之间的数字:')
lista = [1,2,3,4,5]
print(lista[num])
except IndexError as e: # 出错之后的处理
print('下标越界')
except ValueError as e:
print('输入的数据类型错误')
except Exception as e: # 一般会在最后都加上
print('报错了,不知道啥原因')
else: #try中没有发生异常则执行else中的代码,发生异常则不执行
print('hello world') #上面虽然报错但是会继续往后面执行
finally:
print('不管是否报错,我都会一直执行')

demo02.py 触发异常
# 异常分2类
# 1、系统异常:下标越界、路径找不到、值传入错误
# 2、业务异常:年龄只能输入1-120、账号密码错误、充值只能是正整数
# 触发异常由raise触发的,只要由raise就会报错
'''
try:
raise IndexError('报错类') # 创建了一个报错对象,并且赋值
except IndexError as e:# e就是报错的对象
print(e) # 打印值的内容
print('hello')
'''
# 要求输入的值只能在0-4范围之内
# 自定义业务异常类
class onlyunput04Error(Exception):
def __str__(self):
return '输入的数据不在0-4范围之内'
try:
num = int(input('请输入0-4之间的数据'))
if num <0 or num >4:
raise onlyunput04Error() # 手动触发报错
except onlyunput04Error as e:
print(e)
except Exception as e:
print(e)

回忆滋润坚持
原文地址:https://www.cnblogs.com/james5d/p/14091265.html