python基礎總結 異常處理

常見的錯誤類型:1.語法錯誤(不可處理) 2.邏輯錯誤(可做異常處理)

錯誤:
1/0
name
2+'3'
[][3]
{}['k']
input()  : 輸入int('a')

程序一旦發生錯誤,就從錯誤的位置停下來,不再執行後面的內容

異常處理結構
try: # 待處理代碼塊
except: # 異常處理
else: # 沒有異常時執行
finally: # 無論代碼出不出錯,finally模塊的代碼都會執行(例如文件操作,close操作)

try:
	res = int(input('輸入一個數字>>>'))
	print(res * '*')
	[][3]
except ValueError:
	print('輸入錯誤')
except IndexError:
	print('超出列表的索引長度了')
except Exception:
	print('萬能處理,忽略所有的錯誤類型')
except Exception as e:
	print(e)  # 打印錯誤是什麼
else:
	print('沒有異常的時候執行else的代碼')
finally:
	print('不管代碼有沒有出錯,都會執行finally的代碼')

1.except可以有多個分支,加上不同的錯誤類型,處理多個異常,
2.可以直接使用except Exception:不加錯誤類型,默認忽略所有錯誤,一般放在異常處理分支的最後,
3.else的代碼在沒有異常時執行
4.finally的代碼最終都會執行

例子:(文件操作,finally的作用,最終文件都會關閉close)

def main():
	try:
		f = open('test.txt', 'w')
		for line in f:
			int(line)
		return True
	except:
		print('Error')
		return Flase
	else:
		print('success')
	finally:
		f.close()

finally 在遇到 return 的時 仍然會執行 finally代碼塊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章