pythontry参数_python try异常处理
python try異常處理
錯(cuò)誤和異常:
錯(cuò)誤:
nameerror 未聲明、初始化對象
indexerror 序列中沒有此索引
syntaxerror 語法錯(cuò)誤
keyboardinterrupt 用戶中端執(zhí)行
EOFEror 沒有內(nèi)建輸入,到達(dá)EOF標(biāo)記
IOErrot 輸入/輸出操作失敗
import time
for i in range(1,11):
print(i)
try: #把可能發(fā)生錯(cuò)誤的代碼放入try里面,
time.sleep(1)
except KeyboardInterrupt: #當(dāng)產(chǎn)生KeyboardInterrupt
print('Bey-Bey')
#事后申請?jiān)彵仁虑吧暾垯?quán)限容易
try:
number = int(input('number:'))
result = 100 / number
except (ValueError, ZeroDivisionError) as e:
print('errot', e)
except (KeyboardInterrupt, EOFError):
print('\nBey-Bey')
else: #沒有異常時(shí)執(zhí)行的語句
print(result)
finally: #不論有沒有異常都會(huì)執(zhí)行的語句
print('done')
觸發(fā)異常:
raise語句:
想要引發(fā)異常,最簡單的形式就是輸入關(guān)鍵字raise,后面跟要引發(fā)的異常的名稱
執(zhí)行raise語句時(shí),python會(huì)創(chuàng)建指定的異常類的一個(gè)對象
raise語句還可以指定對異常對象進(jìn)行初始化的參數(shù)
def set_age(name, age):
if not 0 < age < 150:
raise ValueError('age out of range.')
print('%s is %s years olg') % (name, age)
#斷言:
斷言是一句必需等價(jià)于布爾值為真的判斷
此外,發(fā)生異常也意味著表達(dá)式為假
def set_age2(name, age):
assert 0 < age < 150, 'age out of range' #當(dāng)表達(dá)式為真時(shí),正常指定print語句,為假時(shí)執(zhí)行報(bào)錯(cuò)語句'age out of range'
print('%s is %s years lod' % (name, age))
if __name__ == '__main__':
set_age('bob', 222)
?著作權(quán)歸作者所有:來自51CTO博客作者積極的廢人的原創(chuàng)作品,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
積極的廢人
11篇文章,1W+人氣,0粉絲
分享自己所理解的,請各位批評指正。
總結(jié)
以上是生活随笔為你收集整理的pythontry参数_python try异常处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql if else语句_一道sql题
- 下一篇: spring boot原理_Spring