1. 程式人生 > >Python中自定義異常

Python中自定義異常

class ShortInputException(Exception):
    def __init__(self,length,atleast):
        super().__init__()
        self.length = length
        self.atleast = atleast
def main():
    try:
        s = input("請輸入 -->")
        if len(s)<3:
            raise ShortInputException(len(s),3)
    except ShortInputException as result:
        print("ShortCutException:輸入的長度是%d,長度至少應該是 %d"%(result.length,result.atleast))
    else:
        print("沒有發生異常")
main()

注意

以上程式中,關於程式碼#super().__init__()的說明

這一行程式碼,可以呼叫也可以不呼叫,建議呼叫,因為__init__方法往往是用來對建立完的物件進行初始化工作,如果在子類中重寫了父類的__init__方法,即意味著父類中的很多初始化工作沒有做,這樣就不保證程式的穩定了,所以在以後的開發中,如果重寫了父類的__init__方法,最好是先呼叫父類的這個方法,然後再新增自己的功能