Python 常见异常类型介绍 [Python 异常]

您的“关注”和“点赞”,是信任,是认可,是支持,是动力…

如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

常见异常类型介绍:

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'

【友情链接】

微信公众号:码农阿杰

博客园

【参考资料】

Python 官网

Python 3.8.2 documentation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章