當檢測到一個錯誤時,解釋器就沒法繼續進行了,反而出現一些錯誤的提示,這就是所謂的異常。spa
語法:code
try: 可能發生的錯誤代碼 except: 若是出現異常執行的代碼
# 捕獲指定異常: 這裏是‘NameError’ try: print(a) except NameError as result: print(result) # name 'a' is not defined # 捕獲全部異常 :Exception try: print(b) except Exception as result: print(result) # name 'c' is not defined # 若是嘗試執行的代碼的異常類型和要捕獲的異常類型不一致,則沒法捕獲異常。 try: print(b) except IOError as result: print(result) # 報錯
try: print(1) # 1 except Exception as result : print(result) else: print('沒有異常時執行的代碼') # 沒有異常時執行的代碼 finally: print('不管是否異常都要執行的代碼') # 不管是否異常都要執行的代碼 try: print(i) except Exception as result : print(result) # name 'i' is not defined else: print('沒有異常時執行的代碼') finally: print('不管是否異常都要執行的代碼') # 不管是否異常都要執行的代碼
raise 拋出異常blog
class ShortInputError(Exception): def __init__(self,length,min_len): self.length = length self.min_len = min_len def __str__(self): return f'你輸入的長度是{self.length},不能少於{self.min_len}' try: con = input('input:') if len(con)<3: raise ShortInputError(len(con),3) except Exception as res: print(res)