異常指的是程式正常執行時發生時引發的錯誤。嚴格來說,語法錯誤和邏輯錯誤不屬於異常。異常可以理解為程式 時而好使,時而不好使,並不是說這個程式本身就有錯誤存在執行不了。
除零、下標越界、檔案不存在、網路異常、型別錯誤、名字錯誤、字典鍵錯誤、磁碟空間不足
異常描述
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...