自定义一个异常类型,由raise抛出:
"""需求:用户输入的密码长度必须要>=6"""
# 自定义异常,继承自Exception
class ShortInputError(Exception):
def __init__(self, length):
super().__init__() # 继承父类Exception的init方法
self.length = length
self.least_length = 6 # 限定最小字符长度为6
def __str__(self): # 格式化print输出的内容
return "您输入的字符长度为{},系统要求输入的字符最小长度为{},请重新输入...".format(self.length,self.least_length)
def password_len():
try:
input_str = input("请输入密码:")
if len(input_str) < 6: # 判断用户输入的字符长度是否合规
raise ShortInputError(len(input_str)) # 抛出异常
except Exception as e:
print(e)
finally:
print("代码执行完成!!!")
# 调用函数
password_len()
代码执行结果:
请输入密码:123
您输入的字符长度为3,系统要求输入的字符最小长度为6,请重新输入...
代码执行完成!!!