1.异常语法:
try:
可能发生的异常
except:
如果出现异常执行的代码
else:
没有异常执行的代码
finally:
无论是否异常都要执行的代码
2. 捕获异常
except 异常类型:
代码
except 异常类型 as xx:
代码
3.自定义异常
# 1.自定义异常类
class 异常类类名(Exception):
代码
# 设置抛出异常的描述信息
def__str__(self):
return ...
# 2. 抛出异常
raise 异常类名()
# 3. 捕获异常
exception Exception as result:
print(result)
举例:
# 1.自定义异常类,继承Exception, 魔法方法有init和str(设置异常描述信息)
class ShortInputError(Exception):
def __init__(self, length, min_len):
# 用户输入密码长度
self.length = length
# 系统要求密码最小长度
self.min_len = min_len
# 设置异常描述信息
def __str__(self):
return f'你输入的密码长度是{self.length}, 密码不能少于{self.min_len}'
def main():
# 2.抛出异常:尝试执行,用户输入密码,如果密码小于三位,则抛出异常
try:
password = input('请输入密码不能小于三位:')
if len(password) < 3:
# 抛出异常类创建的对象
raise ShortInputError(len(password), 3)
# 3.捕获该异常
except Exception as result:
print(result)
else:
print('输入密码成功')
# 调用main()函数
main()