Python从入门到入坟(7)

2020/06/03 异常处理

Python中一切都是对象,异常也采用对象的方式来处理,处理过程如下

  1. 抛出异常:在执行一个方法是,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给解释器。
  2. 捕获异常:解释器得到该异常后,寻找相应的代码来处理该异常。

 

try...一个except结构(还可以多个,按照先子类后父类的顺序)是最常见的异常处理结构,结构如下:

try:

被监控的可能引发异常的语句块

except BaseException [as e]:

异常处理语句块

 

常见异常的解决:

  1. SyntaxError:语法错误
  2. NameError:尝试访问一个没有申明的变量
  3. ZeroDivisionError:除数为0错误
  4. ValueError:数值错误
  5. TypeError:类型错误
  6. AttributeError:访问对象的不存在的属性
  7. IndexError:索引越界异常
  8. KeyError:字典的关键字不存在

 

with上下文管理

finally由于是否发生异常都会执行,通常我们释放资源的代码。其实,我们可以通过with上下文管理,更方便的实现释放资源的操作。

with上下文管理的语法结构如下:

with context_expr[as var]:
     <语句块>

with上下文管理可以自动管理资源,在with代码块执行完毕后自动还原进入该代码之前的现场或上下文。不论何种原因跳出with块,不论是否有异常,总能保证资源正常释放,极大的简化了工作,在文件操作、网络通信相关的场合非常常用。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值