您的“關注”和“點贊”,是信任,是認可,是支持,是動力…
如意見相佐,可留言。
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新。
文章目錄
常見異常類型介紹:
1 ZeroDivisionError
除法運算中除數爲 0 引發此異常。
舉例如下所示:
import traceback
try:
res = 10 / int(input('請輸入一個除數:'))
print(res)
except:
traceback.print_exc()
運行結果:
請輸入一個除數:0
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 3, in <module>
res = 10 / int(input('請輸入一個除數:'))
ZeroDivisionError: division by zero
2 AssertionError
當 assert 關鍵字後的條件爲假時,程序運行會停止並拋出 AssertionError 異常。
舉例如下所示:
import traceback
try:
list_demo = [] # 空列表
assert len(list_demo) > 0
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 4, in <module>
assert len(list_demo) > 0
AssertionError
3 AttributeError
當試圖訪問的對象屬性不存在時拋出的異常。
舉例如下所示:
import traceback
try:
list_demo = [1, 2, 3]
list_demo.len # 列表沒有 len 屬性
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 4, in <module>
list_demo.len
AttributeError: 'list' object has no attribute 'len'
4 NameError
嘗試訪問一個未聲明的變量時,引發此異常。
舉例如下所示:
import traceback
try:
print(name)
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 3, in <module>
print(name)
NameError: name 'name' is not defined
5 IndexError
索引超出序列範圍會引發此異常。
舉例如下所示:
import traceback
try:
list_demo = [1, 2, 3]
print(list_demo[3])
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 4, in <module>
print(list_demo[3])
IndexError: list index out of range
6 KeyError
字典中查找一個不存在的關鍵字時引發此異常。
舉例如下所示:
import traceback
try:
dict_demo = {'Q': '斬鋼閃'}
print(dict_demo['E'])
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 4, in <module>
print(dict_demo['E'])
KeyError: 'E'
7 TypeError
不同類型數據之間的無效操作。
舉例如下所示:
import traceback
try:
str = '阿杰' + 10
print(str)
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 3, in <module>
str = '阿杰' + 10
TypeError: can only concatenate str (not "int") to str
8 FileNotFoundError
找不到指定文件錯誤。
舉例如下所示:
import traceback
try:
t = open('test.txt')
except:
traceback.print_exc()
運行結果:
Traceback (most recent call last):
File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 3, in <module>
t = open('test.txt')
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'