Python 異常處理和斷言
阿新 • • 發佈:2021-06-22
try:
可能出現異常的程式碼
except 異常型別:
finally:
不管try裡有沒有異常它都會執行
try: # try下面寫有可能會出現異常的程式碼 score = int(input("請輸入成績:")) # 因為input獲取的都是字串,int()是強制轉換成int型別,英文字元等是無法轉換成int型別的字都會報錯 except Exception: # 處理異常之後的處理, print("用輸入的資料不符合規範,預設給0分") score = 0 else: # 程式碼沒有出現異常,執行else中的程式碼print("程式碼沒有出現異常,執行else") finally: # 不管程式碼有沒有出現異常都會去執行的程式碼 print("finally不管程式碼有沒有出現異常都會去執行的程式碼") print("分數錄入為:{}".format(score))
主動丟擲異常語法格式:raise 異常型別(異常資訊)
try: # try 有可能發生異常的程式碼 a = 1111 print(b) except NameError as msg: print(msg) raise msg # 捕獲後執行不會報錯,再丟擲就會看到異常else: # try裡面的程式碼都是正常執行,沒有發生任何異常,就會執行這裡 print("程式執行正常!") finally: print("不管有沒有異常,我都會被執行!")
assert表示式,提示資訊 (也可以沒有提示資訊)
# assert:斷言 res1 = {'code': 1, 'msg': '登陸成功'} res2 = {'code': 0, 'msg': '登陸失敗'} # 加一個斷言,判斷結果是否如預期,如果與預期不一致,會報出斷言異常並列印提示資訊 assert res1 == res2, '該用例不通過!'