自定义非法年龄类IllegalAgeException,定义一个Person类,包含年龄,姓名,性别等属性,编写属性设置和读取函数,在设置年龄函数中,判断参数是否符合要求(1~150),如果不符合则抛出异常,编写main函数进行测试。
时间: 2023-02-09 16:45:03 浏览: 132
以下是实现的代码:
```
class IllegalAgeException(Exception):
def __init__(self, age):
self.age = age
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def set_age(self, age):
if age < 1 or age > 150:
raise IllegalAgeException(age)
self.age = age
def get_age(self):
return self.age
def main():
p = Person("John", 20, "male")
try:
p.set_age(-1)
except IllegalAgeException as e:
print("Invalid age:", e.age)
main()
```
在 main 函数中,我们创建了一个 Person 类的实例 p,并调用了 p 的 set_age 函数,在 set_age 函数中,我们判断了年龄是否在 1~150 之间,如果不符合,则抛出 IllegalAgeException 异常。在 main 函数中,我们使用 try-except 语句来捕获并处理这个异常,如果捕获到了这个异常,就打印一条错误信息。