異常處理
異常:程式執行過程**現的錯誤和警告
異常類:給不同的種類的異常分的型別
nameerror:標示符未定義錯誤
print(a)
typeerror:型別錯誤
print(「abcd」+123)
indexerror:下標越界錯誤
lis = [「紅燒肉」,「香辣烤魚」,「火鍋」]
print(lis[-len(lis)]) # -len(lis) <= index < len(lis)
f = open(「hello.txt」)
import time
異常處理 :讓程式不報錯.(不終止執行,可以提示錯誤,記錄進錯誤日誌)
斷言(assertions) : 在需要的時候進行報錯.
異常處理
try:
#必選(嘗試)可能會出現異常的**
except:
#捕獲到異常要執行的操作(當出錯時,執行)
except exception as e:
# 可以用來記錄錯誤日誌
f = open(「error.log」,「a」)
f.write(time.strftime("%y-%m-%d %h:%m:%s")) + " " + str(e))
f.close()
else: # 可選
#僅當不出錯是執行
finally: #可選
#有沒有捕獲到異常都會執行的**
for i in range(10):
print(i,end="")
斷言
手動引發異常
assert語句用於檢測某個條件表示式是否為真。assert語句又稱為斷言語句,即assert認為檢測的表示式永遠為真,if語句中的條件判斷都可以使用assert語句檢測。
assert 「mode」 in [「train」, 「eval」, 「inference」]
如果「mode」不在其中則觸發異常
顯式地引發異常
raise 通過raise顯式地引發異常。一旦執行了raise語句,raise後面的語句將不能執行
raise案例
def mye(level):
if level < 1:
raise exception(「invalid level!」,level) #強制觸發異常,並傳入兩個引數
# 觸發異常後,後面的**就不會再執行
mye(-1)
class
ageerror
(exception)
:pass
age =
int(
input
("請輸入您的年齡:"))
#assert age >= 18 ,ageerror("未成年不許進!")
if age <18:
#顯示觸犯錯誤
raise ageerror(
"******"
)print
("歡迎光臨!"
)
Python筆記 異常處理
python筆記 異常處理 捕獲異常 try 語句 except 異常名1 語句 except 異常名2 語句 else 語句 另一種形式,不包含except和else語句 try 語句 finally 語句 eg.python view plain copy print l 1,2,3,4 try...
python筆記 異常處理
1.狹義的異常處理 當一次請求多個網頁時,如果其中乙個網頁出錯,那麼整個程式就會終止,造成其他網頁都無法完成請求。所以需要通過異常處理將可能出錯的網頁進行處理,以至於其他網頁能被請求。import requests urls defget data url data requests.get url...
python異常處理 Python 異常處理
使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...