8.4. 拋出異常
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的東營(yíng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
raise 語(yǔ)句允許程序員強(qiáng)制拋出一個(gè)指定的異常。例如:
raise NameError('HiThere')
Traceback (most recent call last):
File "
", line 1, in ?
NameError: HiThere
要拋出的異常由 raise 的唯一參數(shù)標(biāo)識(shí)。它必需是一個(gè)異常實(shí)例或異常類(lèi)(繼承自 Exception 的類(lèi))。
如果你需要明確一個(gè)異常是否拋出,但不想處理它,raise 語(yǔ)句可以讓你很簡(jiǎn)單的重新拋出該異常:
try:
... raise NameError('HiThere')
... except NameError:
... print('An exception flew by!')
... raise
...
An exception flew by!
Traceback (most recent call last):
File "
", line 2, in ?
NameError: HiThere
python中用來(lái)拋出異常的關(guān)鍵字是1.拋出異常和自定義異常 Python用異常對(duì)象(exception object)表
raise 語(yǔ)句 Python中的raise 關(guān)鍵字用于引發(fā)一個(gè)異常,基本上和C#和
自定義異常類(lèi)型 Python中也可以自定義自己的特殊類(lèi)型的異常,只需要要從Excepti
2.捕捉異常 和C#中的try/catch類(lèi)似,Python中使用try/excep
#計(jì)算機(jī)# #程序員# #python# #代碼# #IT#
程序在運(yùn)行的時(shí)候,如果python解釋器遇到 不是語(yǔ)法錯(cuò)誤 時(shí),會(huì)停止程序的執(zhí)行,并且拋出一些錯(cuò)誤的信息進(jìn)行提示,這就是異常。
方式try-except語(yǔ)句捕獲 所有發(fā)生的異常 。但這不是一個(gè)很好的方式,我們不能通過(guò)該程序識(shí)別出具體的異常信息。因?yàn)樗东@所有的異常,常用于函數(shù)最外層進(jìn)行捕捉未知異常。
1)情況1
2)情況2
3)情況3
當(dāng)在try塊中拋出一個(gè)異常,立即執(zhí)行finally塊代碼。
finally塊中的所有語(yǔ)句執(zhí)行后,異常被再次觸發(fā),并執(zhí)行except塊代碼。
在不確定異常是哪個(gè)的情況下,常用的except的異常有: Exception、BaseException 。
關(guān)注我,堅(jiān)持每日積累一個(gè)技巧, 長(zhǎng)期堅(jiān)持 ,我們將會(huì)不斷進(jìn)步。
python異常處理的四種方法:
一、使用c#,nuget管理包上下載的ironPython安裝包
嘗試后發(fā)現(xiàn),對(duì)引用了numpy等第三方庫(kù)的python代碼,會(huì)報(bào)找不到模塊XX的錯(cuò)誤,上網(wǎng)查證后發(fā)現(xiàn)此問(wèn)題基本難以解決
二、使用c++程序調(diào)用python文件,然后將其做成動(dòng)態(tài)鏈接庫(kù)(dll),在c#中調(diào)用此dll文件
限制:實(shí)現(xiàn)方式很復(fù)雜,并且受python版本、(python/vs)32/64位影響,而且要求用戶必須安裝python運(yùn)行環(huán)境
三、使用安裝好的python環(huán)境,利用c#命令行,調(diào)用.py文件執(zhí)行
優(yōu)點(diǎn):執(zhí)行速度只比在python本身環(huán)境中慢一點(diǎn),步驟也相對(duì)簡(jiǎn)單
缺點(diǎn):需要用戶安裝配置python環(huán)境。