python raise的基本使用
簡(jiǎn)介
當(dāng)程序出現(xiàn)錯(cuò)誤,python會(huì)自動(dòng)引發(fā)異常,也可以通過(guò)raise顯示地引發(fā)異常。一旦執(zhí)行了raise語(yǔ)句,raise后面的語(yǔ)句將不能執(zhí)行。
1、演示raise用法
try: s = None if s is None: print('s 是空對(duì)象') # 如果引發(fā)NameError異常,后面的代碼將不能執(zhí)行 raise NameError # 這句不會(huì)執(zhí)行,但是后面的except還是會(huì)走到 print(len(s))except TypeError: print('空對(duì)象沒(méi)有長(zhǎng)度') s = Noneif s is None: raise NameError# 如果不使用try......except這種形式,那么直接拋出異常,不會(huì)執(zhí)行到這里print('is here?')
2、觸發(fā)異常
我們可以使用raise語(yǔ)句自己觸發(fā)異常
raise語(yǔ)法格式如下:
raise [Exception [, args [, traceback]]]
語(yǔ)句中 Exception 是異常的類(lèi)型(例如,NameError)參數(shù)標(biāo)準(zhǔn)異常中任一種,args 是自已提供的異常參數(shù)。
最后一個(gè)參數(shù)是可選的(在實(shí)踐中很少使用),如果存在,是跟蹤異常對(duì)象。
3、實(shí)例
一個(gè)異常可以是一個(gè)字符串,類(lèi)或?qū)ο蟆?Python的內(nèi)核提供的異常,大多數(shù)都是實(shí)例化的類(lèi),這是一個(gè)類(lèi)的實(shí)例的參數(shù)。
def mye(level): if level < 1: raise Exception('Invalid level!') # 觸發(fā)異常后,后面的代碼就不會(huì)再執(zhí)行 try: # 觸發(fā)異常 mye(0)except Exception as err: print(1, err)else: print(2)
以上就是python raise的基本使用的詳細(xì)內(nèi)容,更多關(guān)于python raise的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Spring @Primary和@Qualifier注解原理解析2. 詳解php如何合并身份證正反面圖片為一張圖片3. 如何用python識(shí)別滑塊驗(yàn)證碼中的缺口4. php設(shè)計(jì)模式之模板模式實(shí)例分析【星際爭(zhēng)霸游戲案例】5. AJAX實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)效果6. ASP.NET MVC視圖頁(yè)使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解7. Java基于redis和mysql實(shí)現(xiàn)簡(jiǎn)單的秒殺(附demo)8. SpringBoot+SpringCache實(shí)現(xiàn)兩級(jí)緩存(Redis+Caffeine)9. HTML iframe標(biāo)簽用法案例詳解10. ASP.NET 2.0頁(yè)面框架的幾處變化
