您的“关注”和“点赞”,是信任,是认可,是支持,是动力…
如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。
文章目录
常见异常类型介绍:
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'