else 分支(沒有錯誤的時候纔會執行)
應用環境
1 try : 2 print('aaa') #給某某某發郵件 3 ame 4 except NameError: #網絡不穩定 5 print('name error') #從新發一遍 6 except IndexError: #郵箱地址錯誤 7 print('index error') #算了 8 else: 9 print('else') #發送成功
finally 不管如何都會執行(finally很是有利於操做系統資源的回收)
1 def func(): 2 f=open('file') 3 try: 4 while True: 5 for line in f: 6 if line.startswith('a'): 7 return line 8 except: 9 print('異常處理') #及時有異常也會先執行finally中的代碼 10 finally: 11 f.close() #及時return也會先執行finally中的代碼
1 try: 2 f=open('www','w') 3 f.read() 4 finally: #及時遇到報錯,也會先執行 finally中的代碼而後再報錯 5 f.close() 6 print('文件已經關閉了')
異常處理的幾種狀況
1 try...except... 2 try....except...else 3 try...finally 4 try...except...finally 5 try...except...else...fianlly
主動拋出異常:是給其餘開發者用的
1 raise ValueError 2 raise ValueError('你寫的不對')
斷言asert
1 assert 1==2#只能接受一個布爾值False 2 assert 1==1#true 3 assert 1==int(input('請輸入1')) 4 print('繼續')