python expect模块_Python尚学堂高淇|第二季0408P119P123with上常见的异常的解决tryexcept...else结构,...
P119 ?04:try ...except...else結(jié)構(gòu)
try..except...else結(jié)構(gòu)增加了"else快"如果try快當(dāng)中沒(méi)有拋出異常,則執(zhí)行else快,如果try快當(dāng)中拋出異常,則執(zhí)行except快,不執(zhí)行
【實(shí)例】try....except...else結(jié)構(gòu)執(zhí)行測(cè)試
try: a=input("請(qǐng)輸入被除數(shù):") b=input("請(qǐng)輸入除數(shù):")c=float(a)/float(b)except BaseException as e:print(e)else:????print("除的結(jié)果是:",c)P120? ?05? try ...except...finally的結(jié)構(gòu)
try...except...finally結(jié)構(gòu)當(dāng)中,finally快無(wú)論是否發(fā)生異常都會(huì)被執(zhí)行,通常用來(lái)釋放try快當(dāng)中申請(qǐng)的資源。
【示例】try....except...finally結(jié)構(gòu)的簡(jiǎn)單測(cè)試
#try....except...finally結(jié)構(gòu)的測(cè)試try: a=input("請(qǐng)輸入一個(gè)被除數(shù):") b=input("請(qǐng)輸入一個(gè)除數(shù);") c=float(a)/float(b)except BaseException as e: print(e)else: print(c)finally: print("我是finally當(dāng)中的語(yǔ)句,無(wú)論發(fā)生異常是否,都執(zhí)行!!")print("程序結(jié)束!!")#測(cè)試finallytry: f=open("d/a.txt","r") content=f.readline() print(content)except: print("文件沒(méi)有找到!!")finally: printf("run in finally ,關(guān)閉資源!!")try: f.close()except BaseException as e: print(e)print("程序執(zhí)行結(jié)束!!!")P121 06:
常見的異常的解決:
Python當(dāng)中的異常都派生來(lái)自BaseException類,本節(jié)我們測(cè)試和列出常見的一些異常,方便初學(xué)者學(xué)習(xí)
SyntaxError:語(yǔ)法錯(cuò)誤
int a=3
int a=3
^
SyntaxError:invalid syntax
NameError:嘗試訪問(wèn)一個(gè)沒(méi)有申明的變量
print(a)
print(a)
NameError:name 'a' is not defined
3.ZeroDivisionError:除數(shù)為0的錯(cuò)誤(零除錯(cuò)誤)
a=3/0
a=3/0
ZeroDivisionError:division by zero
return語(yǔ)句和異常處理的問(wèn)題:
由于return語(yǔ)句有兩種作用:結(jié)束方法的運(yùn)行和返回值,我們一般不把return放到異常處理結(jié)構(gòu)當(dāng)中,而是放到最后面。
【示例】return和異常結(jié)構(gòu)的正確處理方式
所有的單詞應(yīng)該都能夠記住!!
P122? ? 07
with 上下文管理
finally快由于是否發(fā)生異常都會(huì)執(zhí)行,通常我們放釋放資源的代碼,其余,我們可以通過(guò)with上下文管理,更方便的釋放資源的操作
#with上下文管理文件的操作#注意:with不是用來(lái)取代try...expect..finally結(jié)構(gòu)的,只是用來(lái)作為補(bǔ)充#方便我們?cè)谶M(jìn)行文件管理,網(wǎng)絡(luò)通信時(shí)候的開發(fā)with open("d:/bb.txt") as f:for line in f: print(line)with上下文管理的語(yǔ)法結(jié)構(gòu)如下:
with context_expr[as var]:
????????語(yǔ)句塊
with上下文管理可以自動(dòng)管理資源,在with代碼塊執(zhí)行完畢以后自動(dòng)還原進(jìn)入該代碼之前的現(xiàn)場(chǎng)或者上下文,不論是何種原因跳出with快,不論是否有異常,總是能夠保證資源的正常的釋放,極大的簡(jiǎn)化了工作,,在文件操作,網(wǎng)絡(luò)通信相關(guān)的場(chǎng)合非常適用。
P123 08
trackback模塊
【實(shí)例】使用traceback模塊打印異常信息
#測(cè)試trackback
#coding=utf-8import tracebacktry: print("step1") num=1/0except: traceback.print_exc()#coding=utf-8import tracebacktry: print("step1") num=1/0except: traceback.print_exc()####將異常的信息輸出到指定的文件當(dāng)中try: print("step1") num=1/0except:with open("d/a.txt","a") as f: traceback.print_exc(file=f)歡迎打賞,么么噠!
●R語(yǔ)言
●句子
●JAVA
●C語(yǔ)言以及算法筆記
●大學(xué)生生活圖鑒
●JavaScript
●計(jì)算機(jī)網(wǎng)絡(luò)原理
●計(jì)算機(jī)組成原理
●操作系統(tǒng)
●數(shù)據(jù)庫(kù)系統(tǒng)概論
●數(shù)據(jù)結(jié)構(gòu)
●英語(yǔ)
●Linux
●數(shù)字圖像處理
●云計(jì)算與人工智能
●資源
●明星電視劇社會(huì)現(xiàn)象娛樂(lè)
Python
仙女都在看點(diǎn)點(diǎn)點(diǎn),贊和在看都在這兒!總結(jié)
以上是生活随笔為你收集整理的python expect模块_Python尚学堂高淇|第二季0408P119P123with上常见的异常的解决tryexcept...else结构,...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android webview 劫持,安
- 下一篇: python重复命令_Python简化重