python中exception类的_Python常见异常类型介绍

Python程序中最常见的错误为语法错误。语法错误又称为解析错误,它是指开发人员编写了不符合Python语法格式的代码所引起的错误。含有语法错误的程序会抛出异常,无法运行。如下所示为一段包含语法问题的代码:

while True

print("语法格式错误")

上述示例代码中的循环语句后少了冒号(:),不符合Python的语法格式。因此语法分析器会检测到错误。

在PyCharm中运行上述代码后,错误信息会在结果输出区进行显示,具体如下:

File " D:/Python项目/异常.py ", line 1

while True

^

SyntaxError: invalid syntax

以上错误信息中包含了错误所在的行号、错误类型和具体信息,错误信息中使用小箭头(^)指出语法错误的具体位置,方便开发人员快速地定位并修正。产生语法错误时引发的异常类型为SyntaxError。

一段语法格式正确的Python代码在运行时产生的错误称为异常。如果这些异常不被处理,程序默认的处理方式是直接崩溃。

程序运行时产生异常,示例如下:

for i in 3:

print(i)

运行代码,结果如下所示:

Traceback (most recent call last):

File "D:/Python项目/异常.py", line 7, in

for i in 3:

TypeError: 'int' object is not iterable

上述语句没有任何语法格式错误,但代码执行后出现TypeError异常,这是因为使用for循环对一个整数进行遍历,而for循环不支持对整数类型的遍历。

在Python中所有的异常均由类实现,所有的异常类又继承自BaseException类,程序运行时出现的异常大多继承自Exception类。如图1所示为Python中异常类的继承关系。

20201117181658625.jpg

图1 Python中异常类的继承关系

因为SyntaxError、FileNotFoundError、NameError等常见异常均继承自Exception类,所以本章主要对Exception类及其子类进行介绍,Exception中常见的子类及其描述如表1所示。

表1 Exception中常见的子类

类名

描述

SyntaxError

发生语法错误时引发

FileNotFoundError

未找到指定文件或目录时引发

NameError

找不到指定名称的变量时引发

ZeroDivisionError

除数为0时的异常

IndexError

当使用超出列表范围的索引时引发

KeyError

当使用映射不存在的键时引发

AttributeError

当尝试访问未知对象属性时引发

TypeError

当试图在使用a类型的场合使用b类型时引发

猜你喜欢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值