用python实现,编程实现自定义类检查年龄输入异常,要求对输入的年龄值可能发生的异常进行处理
时间: 2024-03-03 15:49:55 浏览: 46
好的,我可以帮你回答这个问题。
下面是一个示例代码,可以用于自定义类检查年龄输入异常并进行处理:
```python
class AgeError(Exception):
pass
class Person:
def __init__(self, name, age):
self.name = name
self.set_age(age)
def set_age(self, age):
try:
if age < 0 or age > 120:
raise AgeError("Invalid age value!")
else:
self.age = age
except AgeError as e:
print(e)
# 示例用法:
p1 = Person("Bob", -1) # "Invalid age value!" 将被打印出来
p2 = Person("Alice", 130) # "Invalid age value!" 将被打印出来
p3 = Person("John", 35) # p3对象将被创建,并且p3.age的值为35
```
在这个示例中,我们定义了一个 `AgeError` 异常类,用于在输入的年龄值不合法时抛出异常。然后在 `Person` 类中,我们使用 `try-except` 语句来捕获这个异常,并在控制台上输出错误信息。
在 `Person` 类的 `set_age` 方法中,我们首先判断输入的年龄值是否在合法范围内。如果不在范围内,我们就抛出 `AgeError` 异常;如果在范围内,我们就将年龄值保存到对象的 `age` 属性中。
这样,我们就可以通过 `set_age` 方法来检查年龄输入异常,并在输入不合法时进行处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)