自定义一个异常类继承Exception类,捕获下面的过程:判断输入的字符串长度是否小于5,如果小于5,比如长度为3,则输出“The input is of length 3,expecting at least 5!”,如果大于5,则输出“Print success!”。
时间: 2024-01-21 07:18:34 浏览: 104
判断输入的自定义异常
4星 · 用户满意度95%
可以参考下面的代码实现:
```python
class InputLengthError(Exception):
def __init__(self, length):
self.length = length
def __str__(self):
return f"The input is of length {self.length}, expecting at least 5!"
try:
s = input("Please enter a string: ")
if len(s) < 5:
raise InputLengthError(len(s))
else:
print("Print success!")
except InputLengthError as e:
print(e)
```
首先我们自定义了一个异常类`InputLengthError`,它继承了`Exception`类。在类的初始化函数中,我们保存了输入字符串的长度。在`__str__`函数中,我们定义了当这个异常被打印时所输出的字符串。
在程序的主体部分,我们首先通过`input`函数获取了用户输入的字符串`s`。然后我们使用`if`语句判断`s`的长度是否小于5。如果小于5,我们手动抛出了一个`InputLengthError`异常,并传入了`s`的长度作为参数。如果`s`的长度大于等于5,我们就直接输出了“Print success!”。在`try-except`语句中,我们通过`except`捕获了`InputLengthError`异常,并打印了异常对象的字符串表示。
阅读全文