题目
- 编程练习:自定义一个异常类,继承Exception类,捕获下面的过程,判断input()输入的字符串长度是否小于5,如果小于5,输出提示信息。
思路
- 自定义异常类继承Exception,并重写__str__
- 定义一个类,类中包含一个静态函数,用来检查字符串的长度,如果长度小于5,则触发自定义异常
代码
class LengthExcepthion(Exception): #自定义异常类,集成Exception
def __init__(self,msg = "LengthExcepthion"): #构造函数
self.msg = msg #赋值
def __str__(self): #重写__str__
return self.msg #返回重写字符串
class StrLengthCheck: #长度检查类
@staticmethod #静态方法修饰符
def lengthCheck(str): #长度检查函数
if len(str) < 5: #长度小于5
raise LengthExcepthion("Length Error - string length less 5.") #触发自定义异常
else: #长度大于5
print("Input string length is OK.") #打印提示信息
if __name__ == "__main__":
try:
strInput = str(input("please input a string:")) #提示用户输入
StrLengthCheck.lengthCheck(strInput) #检查用户输入的字符串长度
except LengthExcepthion as err: #捕捉到异常
print("【异常处理】: %s" %err) #提示用户输入错误