python学习手册(第4版) 第三十二章 异常基础

1.再次回顾程序结构

程序由模块组成,模块中包含了语句块,语句块中包含了表达式,表达式创建并处理对象。

 

2.异常和工具

现在开始本书的第七部分,异常和工具

做程序,不是简单的写程序,因为如果不是copy现成的,都会有bug,有了bug就要对症下药,所以捕获异常和处理异常很关键,关系到时间的利用效率。

 

3捕获异常

语句:try/except/else

现在try中尝试运行,如果报错,不阻断程序,报错信息由except捕获,当try中无报错时才执行else语句块,否则不执行。

语句:try/excepy/finally

无论try中有无报错,finally语句块都会被执行(使用finally可以省略excepy,如果不想捕获错误信息的话)

 

4.触发异常

raise  手动在代码中触发异常(使用的异常为系统内置的异常)

>>> raise IndexError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError
>>>

assert  有条件地在程序代码中触发异常,自定义异常信息

>>> assert False,'now,it is wrong'                   #根据条件判断是否触发异常,False则触发异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: now,it is wrong
>>> assert True,'now,it is wrong'                    #True则不触发异常
>>>

 

5.异常基础

异常是一种结构化的“超级goto”。

>>> try:                                 #捕获异常
...     raise IndexError            #手动触发异常
... except IndexError:
...     print('error,now')
...
error,now
>>>

 

6.还有一种处理异常的结构with as

可以用来确保运行的终止操作,可以被try/finally代替

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值