之前學習了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...