python異常處理的兩種寫法

2022-02-10 05:44:00 字數 1235 閱讀 1759

(1)第一種寫法

需要注意的是 在丟擲異常的時候,httperror必須寫在urlerror之前,因為只有這樣前者才能丟擲異常,不然的話就會被後者攔截,提前丟擲異常。 

#請求某乙個位址

(2)第二種寫法

from urllib.request import

request,urlopen

from urllib.error import

urlerror

#請求某乙個位址

req = request("

")try:

response =urlopen(req)

except

urlerror as e:

if hasattr(e,'

reason'):

print("

we failed to reach a server")

elif hasattr(e,'

code'):

print("

the server couldn\'t ful fill the request.")

else

:

print("

everything is fine

")

hasattr判斷是否擁有這個屬性,如果有的話就列印,如果沒有判斷下乙個,建議使用第二個拋異常方法。

python 異常處理及異常處理的兩種方式對比

1,python直譯器檢測到錯誤,觸發異常 程式設計師編寫特定的 專門用來捕捉這個異常 這段 與程式邏輯無關呢,與異常處理有關 如果捕捉成功則進入另外乙個處理分支,執行你為其定製的邏輯,使程式不會崩潰,這就是異常處理。2,處理方式 1 使用if判斷式 降低程式的可讀性 2 python本身對錯誤有異...

異常處理的兩種方式

處理異常的兩種方式 1.繼續上拋 相當於推卸責任,把異常傳遞給呼叫者。2.自己捕捉 捕捉相當於自己攔下異常,把異常給解決了,呼叫者是不知道的。如果希望呼叫者處理異常,選擇throws上報異常。不希望呼叫者處理異常,選擇try catch捕捉。如果有乙個類,它的構造方法可能出現異常,我們選擇上報異常,...

異常處理的兩種方式

1.繼續上拋 相當於推卸責任,把異常傳遞給呼叫者。2.自己捕捉 捕捉相當於自己攔下異常,把異常給解決了,呼叫者是不知道的。如果希望呼叫者處理異常,選擇throws上報異常。不希望呼叫者處理異常,選擇try catch捕捉。如果有乙個類,它的構造方法可能出現異常,我們選擇上報異常,因為構造方法是上級呼...