1. 程式人生 > 其它 >20201210_124_自定義異常類_raise丟擲異常

20201210_124_自定義異常類_raise丟擲異常

技術標籤:學習筆記_Python程式設計基礎_Pycharm版

自定義異常類

程式開發中,有時候我們也需要自己定義異常類。自定義異常類一般都是執行時異常,通常繼承 Exception 或其子類即可。命名一般以 Error、Exception 為字尾。

自定義異常由 raise 語句主動丟擲。

【例】自定義異常類和 raise 語句

class AgeError(Exception):  # 繼承父類Exception
    def __init__(self, error_info):
        Exception.__init__(self)
        self.error_info =
error_info def __str__(self): # 一般在列印錯誤資訊的時候會自動呼叫這個方法,所以這裡重寫一下。可以註釋掉這兩行對比執行有什麼區別。 return str(self.error_info)+',年齡錯誤!年齡範圍應在1-150。' '''測試程式碼''' if __name__ == '__main__': # 如果為True,則模組是作為獨立檔案執行,可以執行測試程式碼。 # 寫上面這一行程式碼的原因是:上面定義的AgeError類是可能被別人呼叫的,有了上面這一句程式碼,別人呼叫時,__name__就不等於 # 'name',下面這個模組兒的程式碼就不會執行。
age = int(input('請輸入年齡:')) if age < 1 or age > 150: raise AgeError(age) else: print('{}是正常年齡。'.format(age))

執行結果:
在這裡插入圖片描述