Python 異常處理筆記

2021-10-11 06:00:32 字數 1573 閱讀 1091

異常處理

異常:程式執行過程**現的錯誤和警告

異常類:給不同的種類的異常分的型別

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 觸...