国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python中的異常處理相關(guān)語句基礎(chǔ)學習筆記

Python中的異常處理相關(guān)語句基礎(chǔ)學習筆記

2020-09-01 09:19linda1000 Python

這里我們簡單整理一下Python中的異常處理相關(guān)語句基礎(chǔ)學習筆記,包括try...except與assert等基本語句的用法講解:

 

異常是指因為程序出現(xiàn)了錯誤而在正常控制流以外采取的行動,其分為兩個階段,第一階段是引發(fā)異常的錯誤,當系統(tǒng)檢測到錯誤并且意識到異常條件,解釋器(也可以是程序員引發(fā)異常)會引發(fā)一個異常通知前段控制流有錯誤發(fā)生,對異常的處理發(fā)生在第二階段,異常引發(fā)后,可以調(diào)用很多不同的操作,可以是忽略錯誤,或是記錄錯誤但不采取任何措施,采取補救措施后終止程序,或是江青問題的影響后設法繼續(xù)執(zhí)行程序
 類似Python這樣支持引發(fā)和處理異常的語言,可以讓開發(fā)人員在錯誤發(fā)生時不僅有檢測錯誤的能力,還可以采取更可靠的補救措施。
 Python用異常對象(exception object)來表示異常情況,遇到錯誤后,引發(fā)的異常如果未被處理或捕捉,程序會自動調(diào)用回溯(Traceback)終止執(zhí)行

?
1
2
3
4
5
>>> 1/0
Traceback (most recent call last):
 File "", line 1, in
ZeroDivisionError: integer division or modulo by zero
>>>

 
python中的異常
python解釋器檢測的異常如:
1) NameError: 嘗試訪問一個未聲明的變量
2)ZeroDivisionError: 除數(shù)為零
3)SyntaxError:Python語法錯誤
4)IndexError: 請求的索引超出序列范圍
5)KeyError:請求一個不存在的字典關(guān)鍵字
6)IOError: 輸入/輸出錯誤
7)AttirbuteError: 嘗試訪問未知的對象屬性
8)TypeError:在內(nèi)建操作或者函數(shù) 應用于錯誤類型的對象時引發(fā)
9)ValueError: 在內(nèi)建操作或者函數(shù) 應用于正確類型的對象,但對該對象引用不合適的值引發(fā)
 
由程序員明確觸發(fā)異常:
raise語句:

?
1
raise [someException [, args [, traceback]]]

 
檢測和處理異常
異常可以通過try語句來檢測,主要有兩種實現(xiàn)形式:try-except 和 try-finally:

try-except 語句
定義了進行異常監(jiān)控的一段代碼,并提供了處理異常的機制

?
1
2
3
4
5
6
7
8
9
10
try:
  try_suite #進行監(jiān)控的代碼
except Exception[, reason]:
  except_suite #異常處理的代碼
[except Exception2[, reson2]:
  except_suite2 # 處理try語句中可能發(fā)生的多種異常
[else:
  else_suite #try中語句執(zhí)行沒有異常被檢測到
[finally:
  finally_suite #無論如何均會執(zhí)行]]]

 
try-finally語句
finally方式的語句并不是用來捕捉異常,而是用來維持一致的行為而無論異常是否發(fā)生,無論try中是否有異常觸發(fā),finally代碼段都會被執(zhí)行

?
1
2
3
4
5
6
7
try
  try:
    try_suite
  except:
    excetp_suite
finally:
  finally_suite

等效于:

?
1
2
3
4
5
6
try:
  try_suite
except:
  excetp_suite
finally:
  finally_suite

Assert

Python中assert的運用于C語言中的assert()函數(shù)相似,
主要功能在于確保程序中的某個條件一定為真時,才能讓程序執(zhí)行,否則終止程序執(zhí)行并觸發(fā)AssertionError錯誤
其可以視為相對高級點的異常處理
語法:

?
1
assert expression1, expression2

(不用小括號)
其中,expression1 表示程序繼續(xù)執(zhí)行的判斷條件,為真則繼續(xù),為假則程序終止,并拋出expression2給出的描述信息

?
1
2
3
4
5
6
7
>>> a=10
>>> assert a<=10, "Error"
>>> a = 11
>>> assert a<=10, "Error"
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AssertionError: Error

等價于:

?
1
if a>10: raise AssertionError("Error")

說明:
assert語句一般用于程序編寫過程中的調(diào)試,將其添加到Python源代碼中后,未避免影響編譯性能,
建議盡量去除assert語句,并將__debug__這個內(nèi)置變量設置為False,即在運行命令行中添加參數(shù)

?
1
python -0 test.py

(這其實與C語言中的編譯參數(shù)-d類似)

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日本中文在线视频 | 欧美一区二区三区 | 玖玖精品 | 国产乱码一区二区三区 | 污视频网站在线观看 | 日韩中文字幕av | 一级片黄 | 中文字幕不卡 | 色婷婷精品久久二区二区蜜臂av | 天天综合天天做天天综合 | 色噜噜狠狠狠综合曰曰曰 | 成人精品电影 | 成人免费观看www的片 | 可以免费看黄的网站 | 亚洲精品一区二区三区99 | 日韩欧美在线视频 | 午夜男人天堂 | 日本中文字幕亚洲 | 99久久免费精品 | 蜜桃国精产品二三三区视频 | 国产精品成av人在线视午夜片 | 日韩中文字幕一区二区 | 99re国产 | caoporn视频 | 国产一区欧美 | 亚洲一区二区在线播放 | 精品久久久久久久久久久 | 国产一区二区影院 | 日韩一区二区在线视频 | 精品国产欧美 | www中文字幕 | 不卡视频在线 | av久草 | 日韩视频一区二区三区 | 国产精品亚洲第一区在线暖暖韩国 | 国产v亚洲v天堂无码 | av一区二区三区免费观看 | 国产精品精品 | 欧美一级免费高清 | 久久99精品视频 | 91精品国产视频 |