python學習 捕獲異常

2021-10-02 18:59:53 字數 2559 閱讀 5854

之前學習了python的異常機制,現在就來總結寫一下筆記

異常捕獲

下面先來看乙個簡單的捕獲異常的語法

try:

# 嘗試執行的**

except:

# 出現錯誤的處理

# 在不看例子之前,先來解釋一下這個語法,就是先嘗試執行try後面的**,如果可以執行那麼excep下面的**不會執行,反之執行

# 假如我們的except之後還有**,不影響執行的==>即下面的print(「-」 * 50)可以正常執行

try:

# 嘗試執行的**

except:

# 出現錯誤的處理

print(「-」 * 50)

try:

# 提示使用者輸入乙個數字

num = int(input("請輸入數字:"))

except:

print("請輸入正確的數字")

正常我們知道上面的num = int(input("請輸入數字:"))這個**只能傳入乙個int整型數字,如果直接輸入乙個字母或者float浮點型之類的肯定會報錯如

但是使用異常捕獲語法之後,直譯器就不會因為錯誤而終止程式

語法

其實語法看著很長,但是類似

try:

# 嘗試執行的**

pass

except 錯誤型別1:

# 針對錯誤型別1,對應的**處理

pass

except (錯誤型別2, 錯誤型別3):

# 針對錯誤型別2 和 3,對應的**處理

pass

except exception as result:

print("未知錯誤 %s" % result)

try:

num = int(input("請輸入整數:"))

result = 8 / num

print(result)

except valueerror:

print("請輸入正確的整數")

except zerodivisionerror:

print("除 0 錯誤")

except exception as result:

print("未知錯誤 %s" % result)

這裡要說以下的是result只是乙個變數不唯一,只要符合識別符號命名規則就行了。

try:

num = int(input("請輸入整數:"))

result = 8 / num

print(result)

except valueerror:

print("請輸入正確的整數")

except exception as result:

print("未知錯誤 %s" % result)

這一段**只設定了乙個valueerror的錯誤型別,下面我們輸乙個字母a結果如下

那現在再執行時輸入乙個0,結果如下

這時候它就會輸出乙個未知錯誤,因為我們沒提前對這種錯誤進行預判

try:

num = int(input("請輸入整數:"))

result = 8 / num

print(result)

except valueerror:

print("請輸入正確的整數")

except zerodivisionerror:

print("除 0 錯誤")

except exception as result:

print("未知錯誤 %s" % result)

else:

print("正常執行")

finally:

print("執行完成,但是不保證正確")

這裡需要說一下下賣弄兩個引數

else只有在沒有異常時才會執行的**finally無論是否有異常,都會執行的**

python異常捕獲 如何捕獲Python中的異常

python 提供了try except語句捕獲並處理異常,該異常處理語句的基本語法結構如下 try 可能產生異常的 塊 except error1,error2,as e 處理異常的 塊1 except error3,error4,as e 處理異常的 塊2該格式中,括起來的部分可以使用,也可以省...

python異常捕獲

python的異常處理如c c 的結構一樣。python用try.except.c c 則用try.catch.並不難理解。在對具體錯誤的獲取則有點不同,主要是語法的差異上。c 在catch後可生成相應乙個異常的類,然後可通過類物件獲取相關的錯誤資訊。而python則不同,它在獲取錯誤資訊有點奇怪,...

Python捕獲異常

如果感覺 可能會出現異常,可以通過如下兩種方法捕獲異常。一 捕獲所以異常 try statement1 statement2 except exception,e print exception,e 二 通過trace模組檢視 import traceback try statement1 stat...