第十三章

第13章 异常

13.1 异常概述

13.1.1 异常的概念

在生活中,使用计算机中的某个应用软件时,由于某种错误,可能会引发异常,如图所示
在这里插入图片描述

13.1.2 异常类

Python为了区分不同的异常,其中内置了许多异常类,常见的异常类如表所示。
在这里插入图片描述

13.1.2 异常类

在这里插入图片描述

13.2 捕获与处理异常

13.2.1 try-except语句

try-except语句可以捕获异常并进行处理,其语法格式如下
在这里插入图片描述

13.2.2 使用as获取异常信息

为了区分不同的异常,可以使用as关键字来获取异常信息,其语法格式如下:
在这里插入图片描述

13.2.3 try-except-else语句

try-except-else语句用于处理未捕获到异常的情形,其语法格式如下:
在这里插入图片描述

13.2.4 try-finally语句

在try-finally语句中,无论try语句块中是否发生异常,finally语句块中的代码都会执行,其语法格式如下:
在这里插入图片描述

13.3 触发异常

13.3.1 raise语句

raise语句可以手动触发异常,其使用方法有如下3种。
1. 通过类名触发异常
该方法只需指明异常类便可创建异常类的实例对象并触发异常,其语法格式如下
2. 通过异常类的实例对象触发异常
该方法只需指明异常类的实例对象便可触发异常,其语法格式如下:
3. 重新触发异常
raise语句还可以重新触发异常,具体如下所示:

13.4 自定义异常

Python中内置的异常类毕竟有限,用户有时须根据需求需设置其他异常,如学生成绩不能为负数、限定密码长度等。自定义异常类一般继承于Exception或其子类,其命名一般以Error或Exception为后缀,如例所示。
在这里插入图片描述

13.5 回溯最后的异常

当触发异常时,Python可以回溯异常并提示许多信息,这可能会给程序员定位异常位置带来不便,因此,Python中可以使用sys模块中exc_info()函数来回溯最后一次异常信息,该函数返回一个元组(type, value/message, traceback),每个元素的具体含义如下所示:
type:异常的类型。
value/message:异常的信息或者参数。
traceback:包含调用栈信息的对象。
接下来演示该函数的用法,如例所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值