第八章

8.1

在Python中用异常对象来表示异常状态,并在错误时引发异常。
错误消息(traceback)

8.2

8.2.1
raise 语句:将一个类(是Exception的子类)或实例作为参数,当将类作为参数时将自动创建一个实例。
在这里插入图片描述
8.2.2
创建异常类:(一定要直接或间接的继承Exception)
class SomeCustomException (Exception):
pass(或者加入什么自定义的你想让程序干的事)

8.3

对异常的处理称为捕获异常,一般使用try/except语句。
在这里插入图片描述
8.3.1
1.捕获异常后可以调用raise语句且不提供任何参数,这样异常就可以继续向上传播。
2.ZeroDivisionError:抑制异常的计算器类,启用后遇到异常将打印一条错误消息,且异常不会继续传递。
在这里插入图片描述
3.当无法处理异常在except的子句中使用不带参数的raise语句,但当你要想引发别的异常时,进入except子句中的异常将会被作为异常上下文存储起来,并展示在最中的错误消息中,可以用raise…from…语句来提供自己的异常上下文,也可以用None来禁用上下文。
try:
…1/0
except ZeroDivisionError:
raise ValueError from None

trackback…
ValueError
8.3.2
当一个except语句只捕获ZeroDivisionError的错误时,其他的错误就会成为漏网之鱼,可以多添加几个except来捕获这些异常对象。
在这里插入图片描述
8.3.3
用一个except子句来捕获多种异常,用一个元组来指定这些异常。
在这里插入图片描述
8.3.4
将捕获的对象显示的打印出来。
在这里插入图片描述
8.3.5
当有一些你没有预测到的异常出现时,这些异常不会被try/except捕获,你可以让程序在这个地方立马崩溃你就会知道哪里出了问题。
用一段代码捕获所有异常
在这里插入图片描述
8.3.6
在这里插入图片描述
8.3.7
在程序的最后可加上finally,用于在发生异常时执行清理工作。

8.4

异常与函数:不处理函数中引发的异常,它就会一直向上传递到函数直到程序崩溃。

8.5

1.用if语句来处理函数中的异常会降低程序的可读性。

8.6

用模块warnings中的函数warn来发出警告。
from warnings import warn

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值