Python——異常處理
阿新 • • 發佈:2018-10-10
view 輸入 false exceptio erro lap ror bsp func
異常:代碼中的邏輯錯誤
程序一旦發生錯誤,就從錯誤的位置停下來不繼續執行
使用try和except就能處理異常
try: int(‘aaa‘) print(‘111‘) # 檢查錯誤的位置 1/0 print(‘222‘) name print(‘333‘) 2 + ‘3‘ [][3] {}[‘k‘] ret = int(input(‘number >>> ‘)) print(ret * ‘*‘) except ValueError: print(‘輸入的數據類型有誤‘) exceptView CodeIndexError: print(‘超出列表的最大長度了‘) except Exception: print(‘你錯了‘) else: print(‘沒有異常的時候執行此代碼‘) finally: print(‘不管代碼有沒有異常,都執行此代碼‘)
1. try:
需要處理的錯誤代碼
2. except:
except + 錯誤類型:當代碼發生錯誤且錯誤類型符合時,執行此段代碼
except 支持多分支
except + Exception: 萬能異常處理
有了萬能異常處理仍然要把能預測到的問題單獨處理
單獨處理的所有內容都應該寫在萬能異常之前
# 可以看到報錯信息的異常處理 try: int(‘aaa‘) print(‘111‘) # 檢查錯誤的位置 1/0 print(‘222‘) name print(‘333‘) 2 + ‘3‘ [][3] {}[‘k‘] ret = int(input(‘number >>> ‘)) print(ret * ‘*‘) except Exception as error: # 可以看到報錯信息 print(‘你錯了‘,error)View Code
3. else:
沒有異常的時候執行此代碼
4. finally:
不管代碼有沒有異常,都執行此代碼
finally 和 return 相遇的時候,依然會執行
執行到return時,發現後面還有finally,先執行finally,再返回
常用於在函數中做異常處理,不管是否異常,去做一些收尾工作(如:關閉文件)
# finally的用法 # (1)不用finally def func(): try: f = open(‘file‘,‘w‘) f.close() return True except: f.close() return False print(func()) # (1)使用finally # 執行到return時,發現後面還有finally,先執行finally,再返回 def func(): try: f = open(‘file‘,‘w‘) return True except: return False finally: print(‘執行finally了‘) f.close() print(func())View Code
Python——異常處理