Python程序设计基础:异常

一、异常的类型

在使用Python进行程序编写时,很容易就遇到程序出错的情况,可能是引用了未定义的变量,也可能是访问了字典中不存在的键,还可能是读文件时,只读模式下读取了不存在的文件,这些错误都会导致程序终止运行并输出错误信息,而这些错误均被称作为异常。
在Python中,不同的异常被定义为不同的对象,对应不同的错误,常见的异常如下:

异常名称 描述
Exception 常规异常的基类
ZeroDivisionError 除数为零
IOError 输入\输出操作失败
IndexError 序列中没有此索引(index)
KeyError 映射中没有这个键
NameError 未声明/初始化对象(没有属性)
IndentationError 缩进错误
ValueError 传递的值出现错误
KeyError 请求一个不存在的字典关键字引发的错误
ImportError Import无法找到模块
AttributeError 试图访问未知的对象属性引发的错误
TypeError 类型不符合要求引发的错误
MemoryError 内存不足引发的错误
SyntaxError Python代码非法,语法错误

当出现异常时,程序会终止运行,无法实现原有功能,若想保证原有功能实现,则需要在异常发生时及时捕获并作出处理。

二、异常的处理过程

Python中提供了try语句来进行异常的捕获与处理,其语法格式如下:

try:
    语句
except 异常名称:
    捕获异常时处理语句
else:
    未发生异常时语句

在上述内容中,当执行try下面的语句时,若出现指定的异常,则执行except子句部分进行异常处理,若未发生异常,则执行else子句部分。
要注意的是,异常处理并不能消除异常本身,而是当异常发生时,让程序按照预设的方式运行下去,避免因为异常被意外终止,不过不确定会发生的异常是什么,可以使用通用的异常名称Exception来捕获。

例如:编写一个允许连续做4次除法,并能够捕捉到输入出错时可能出现的异常的程序。
在这里插入图片描述
在这里插入图片描述
程序中,用变量i控制循环的进行,总共循环四次,主要捕获的异常为分母为0以及输入的分母不为数值类型。

例如:读取文件2.txt内容,用读模式打开,若文件不存在系统会报错。
当该文件不存在时,结果如下:
在这里插入图片描述

当该文件存在时,结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42051846/article/details/131866971