20201210_124_自定義異常類_raise丟擲異常
阿新 • • 發佈:2020-12-19
技術標籤:學習筆記_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))
執行結果: