Python異常拋出后使用except接收的原因


首先我們來看一個具有異常拋出功能的程序:

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語句接收的原因!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM