Python学习6

异常处理

  • 使用try...except捕获异常
  • 在try块里出现异常时,会寻找相应的处理该异常对象的except块
  • 在try块里出现异常时,找不到相应的except块,则运行终止,Python解释器也退出
  • 捕获异常的时候,编程时先写子类的except块再写父类的except块(先捕获小异常,再捕获大异常)
  • 异常信息访问
    • agrs:返回异常错误的编号和描述字符串
    • errno:返回异常错误的编号
    • strerror:返回异常的描述字符串
    • with_traceback():处理异常传播轨迹信息
  • else块,在try块中没出现异常时,则会执行else块,如果出现异常,则不执行
  • 如果有异常需要不被except块捕获,则可以把该段代码放入else块中
  • 如果try块中打开了某些物理资源,这些物理资源需要显示被回收,当try块出现异常时,不一定能回收这些资源,而且在except块中又不一定会被执行到,导致这些物理资源不能被回收,要用finally块
  • 不要在finally块中使用return或者raise等导致方法终止的语句,使用这些语句会导致try块和except块中的相应语句失效
  • 用raise自行引发异常
    • raise:单个默认引发RuntimeError
    • raise +异常类:引发指定异常类
    • raise+ 异常对象:引发指定异常对象
  • except块和raise块同时使用,可以处理单个方法无法完成处理的异常
  • 不要过度使用异常
  • 不要使用过于庞大的try块
  • 不要忽略捕获到的异常
    • 要对捕获到的异常进行处理
    • 重新引发新的异常
    • 在适当的层处理异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值