Python異常處理

2021-10-04 12:33:34 字數 2653 閱讀 2376

異常指的是程式正常執行時發生時引發的錯誤。嚴格來說,語法錯誤和邏輯錯誤不屬於異常。異常可以理解為程式 時而好使,時而不好使,並不是說這個程式本身就有錯誤存在執行不了。

除零、下標越界、檔案不存在、網路異常、型別錯誤、名字錯誤、字典鍵錯誤、磁碟空間不足

異常描述

nameerror

嘗試訪問乙個沒有申明的變數

zerodivisionerror

除數為零

typeerror

不同型別間的無效操作

syntaxerror

語法錯誤

idexerror

索引超出序列範圍

keyerror

請求乙個不存在的字典關鍵字

oserror

作業系統錯誤(如要讀檔案不存在)

valueerror

傳給函式的引數型別不正確,比如給int()函式傳入字串型

#型別一

try:

try塊 #被監控的語句

except:

except塊 #處理異常的語句

#型別二

try:

try塊 #被監控的語句

except exception[

as reason]:

except塊 #處理異常的語句

#型別三 (捕獲多種異常)

try:

try塊 #被監控的語句

except exception1:

except

1#處理異常型別1的語句

except exception2:

except

2#處理異常型別2的語句

except exception3:

except

3#處理異常型別3的語句

# 型別四(else&finally)

try:

try塊 #被監控的語句

except filenotfounderror:

except

1#處理異常型別1的語句

except valueerror:

except

2#處理異常型別2的語句

else

: 執行語句

finally

: 不論是否異常,都會執行的語句

1.執行下面一段程式

f = fopen(「不存在的檔案.txt」)

print(『f.read()』)

f.close()

執行結果:

try:

f = open(「不存在的檔案.txt」)

print(『f.read()』)

f.close()

except:

print(『這個檔案不存在啊o(╥﹏╥)o』)

執行結果:

2.except 後不能覆蓋所有錯誤,依然會報錯

try:

int(『abc』)

f = open(「不存在的檔案.txt」)

print(『f.read()』)

f.close()

except oserror:

print(『這個檔案不存在啊o(╥﹏╥)o』)

執行結果:

改進方法:

try:

int(『abc』)

f = open(「不存在的檔案.txt」)

print(『f.read()』)

f.close()

except oserror as reason:

print(『這個檔案不存在啊o(╥﹏╥)o\n錯誤原因是:』+str(reason))

except valueerror as reason:

print(『型別轉換出錯啦!\n錯誤原因是:』+str(reason))

else:

print(『沒錯,沒錯!』)

加上as reason可以得到系統的具體錯誤原因。

**的再一次改進:

try:

int(『abc』)

f = open(「不存在的檔案.txt」)

print(『f.read()』)

f.close()

except oserror as reason:

print(『這個檔案不存在啊o(╥﹏╥)o\n錯誤原因是:』+str(reason))

except valueerror as reason:

print(『型別轉換出錯啦!\n錯誤原因是:』+str(reason))

except:

print(『未知錯誤!』)

else:

print(『沒錯,沒錯!』)

當上述提到的錯誤均沒有被發現時,可以增加乙個except相當於c語言switch語句中default的效果。

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python異常舉例 Python異常處理

1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...

python異常處理

當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...