天天看點

自定義異常并抛出,捕獲                                                                   -------  知識無價,汗水有情,如需搬運請注明出處,謝謝!

# 需求:類建立人的對象:初始化年齡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())
      

  

                                                                   -------  知識無價,汗水有情,如需搬運請注明出處,謝謝!