自定义异常并抛出,捕获

# 需求:类创建人的对象:初始化年龄0,让用户输入自己的年龄:1-100合法 小于1或大于100 抛出异常

# 自定义异常 -- 自定义异常类 也要继承exception
class AgeError(Exception):
    def __init__(self):
        self.error_msg = 'AgeError: 年龄应该是在1-100之间!'
    def __str__(self):
        return self.error_msg

class Person(object):
    def __init__(self):
        self.__age = 0

    def get_age(self):
        return self.__age

    def set_age(self, num):
        if num < 1 or num > 100:
            # print('年龄不合法')
            # 显示异常信息,抛出异常 -- raise  异常类型的名字
            raise AgeError
        self.__age = num

wangfan = Person()
print(wangfan.get_age())
# wangfan.set_age(-100)  # 解释器报错,影响程序的运行
try:
    wangfan.set_age(-100)
except AgeError:
    print(AgeError())

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

原文地址:https://www.cnblogs.com/wf-skylark/p/9009474.html