首先我們來看一個具有異常拋出功能的程式: def register(): username=input("please input your user name: ") if len(username)<6: raise Exception("the str must be over 6 place ...
首先我們來看一個具有異常拋出功能的程式:
def register(): username=input("please input your user name: ") if len(username)<6: raise Exception("the str must be over 6 places") else: print("the user name you have input is ", username) try: register() except Exception as e: print(e) print("rigister failed") else: print("rigister succeed")#如果沒有執行except,那麼直接執行 finally: print("the program is over")
在這一段代碼當中,運用了最為典型的Python異常處理的結構,首先try,然後except,然後else,最後finally。同時我們在程式的最上方定義了一個rigister()函數,將會在下方的try語句里進行調用,這個函數的意思是:如果說輸入的用戶名稱位數小於6位則報錯,並拋出異常,沒有的話則說明輸入正確。但是既然已經拋出了異常我們為什麼還需要用except語句呢?
原因是我們拋出異常之後只是系統知道了有這個異常,但是並沒有對它進行處理,因此我們還需要except語句對拋出的異常進行接收,然後再進行相應的處理,這就是異常拋出之後還需要使用except語句接收的原因!