python異常處理的兩種技巧
1、傳遞異常
有時(shí)我們會(huì)在捕捉到一個(gè)異常后重新引發(fā)它(傳遞異常),實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,使用不帶參數(shù)的raise語(yǔ)句即可。
deff1():
print(1/0)
deff2():
try:
f1()
exceptExceptionase:
print('somethingworng')
raise
f2()
#運(yùn)行結(jié)果
somethingworng
Traceback(mostrecentcalllast):
File"/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py",line11,in
f2()
File"/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py",line6,inf2
f1()
File"/Users/ryoma/Desktop/project/learn/learn_python/python_exception.py",line2,inf1
print(1/0)
ZeroDivisionError:divisionbyzero
2、使用內(nèi)置的語(yǔ)法規(guī)范代替try/except
Python本身提供了很多語(yǔ)法范式簡(jiǎn)化了異常處理,例如:
(1)for語(yǔ)句利用Stoplteration異常來(lái)結(jié)束循環(huán)的
(2)with語(yǔ)句在打開(kāi)文件后會(huì)在操作結(jié)束后(無(wú)論是否正常結(jié)束)會(huì)自動(dòng)關(guān)閉文件句柄
(3)使用getattr()函數(shù)獲取對(duì)象中的不確定屬性
以上就是python異常處理的兩種技巧,希望對(duì)想要學(xué)習(xí)python的人有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。