1. 程式人生 > 其它 >Python 異常處理和斷言

Python 異常處理和斷言

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, '該用例不通過!'