自定义异常
需要继承 BaseException,重写__init__方法
class AgeException(BaseException):
def __init__(self):
super().__init__()
self.msg = "年龄只能位于0~150!"
学生类,在设置学生年龄出错抛出AgeException
class Student:
def __init__(self, name, age):
self.name = name
self.__age = age
@property
def age(self):
return self.__age
@age.setter
def age(self, age):
if 150 > age > 0:
self.__age = age
else:
print("age_error")
raise AgeException()
运行以下代码
s1 = Student("tom", 11)
try:
s1.age = 999
except AgeException as e:
print(e.msg)
else:
print("没有遇到异常")
finally:
print("程序执行结束")
print("age:%s"%s1.age)
结果