python 自定义异常
1. 异常的原理
try:
print(num) # 解释器执行代码时,一旦发现错误,会根据错误类型自动创建一个异常对象并且传递该异常对象
# 手动创建异常对象并且传递(抛出)
raise NameError("num未命名")
except NameError as error: # as error 就是将 捕获到的异常对象 赋值给 error变量
print("出现异常:%s" % error)
2. 抛出自定义异常
class PhoneNumError(Exception): # 自定义异常必须继承Exception
pass
try:
phone_num = input("请输入手机号:")
if not phone_num.isdecimal(): # 不全是数字
raise PhoneNumError("包含非数字字符")
elif len(phone_num) != 11: # 手机号码位数错误
raise PhoneNumError("手机号码位数错误")
except PhoneNumError as error:
print("提示用户: 手机号码错误 %s" % error)
print("保存数据")