您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關python中怎么處理多個異常,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
一、處理多個異常
1.把所有的異常進行明細化,確定異常條件,直接處理已知的異常,分別進行處理。
這種情況下就是多次使用except這個關鍵詞來處理異常。
2.統一處理所有異常,把多個已知的異常歸類到一起處理。
我們把多個明確的異常歸類到一起,用同一種方式來進行處理。我們把多個異常寫到同一個except中用小括號括起來,中間的異常用逗號隔開。
except(MyCustomerException1,MyCustomerException2):
print("這里處理異常1和異常2的結果")
3.處理其它未知的異常。
處理未知異常的技巧就是在except后面不要加某一種異常情況,此時默認會處理所有的未知異常。
二、案例:做多個異常處理的案例
1.自定義多個異常
2.根據實際情況,來調用自定義的幾個異常
3.處理異常
三、捕獲異常取別名
在try…except語句中的except語句后面實際的異常,如果類名太長,我們可以取別名。格式 except 類常類名 as 別名
except MyCustomerException1 as mce1:
四、總結強調
1.掌握所有異常情況的情況方法try。。。Except
2.掌握自定義異常的處理方法
3.掌握異常的明細化處理
4.掌握自定義異常的構造函數的信息傳入和輸出
5.掌握使用同一個except處理多個異常
本節知識源代碼;
#第一個自定義異常
class MyCustomerException1(Exception):
def __init__(self,code=100,desc="異常消息:100"):
self.code=code
self.desc=desc
#自定義第二個異常
class MyCustomerException2(Exception):
pass
a=input("請輸出一個值:")
# try:
# if a=="qqq":
# raise MyCustomerException1
# elif a=="123":
# raise MyCustomerException2("這里異常為2")
# else:
# b=a/0
# except MyCustomerException1 as mce1:
# print("這里觸發了第一個異常",mce1.code,mce1.desc)
# except MyCustomerException2:
# print("這里觸發了第二個異常")
# except:
# print("這里處理未知異常")
try:
if a=="qqq":
raise MyCustomerException1
elif a=="123":
raise MyCustomerException2("這里異常為2")
else:
b=a/0
except(MyCustomerException1,MyCustomerException2):
print("這里處理異常1和異常2的結果")
except:
print("未知異常")
看完上述內容,你們對python中怎么處理多個異常有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。