python异常

异常:
1、异常的调用种类:
①参数不够,发生索引错误,调用IndexError对应的expcet块处理异常
②输入的参数与需求不同,发生数值错误,调用ValueError块处理异常
③发生除0异常,调用ArithmeticError块处理异常
④出现其他异常,肯定是Exception的子类,调用Exception块处理异常
2、多异常捕获:
可以将多个异常用元祖封装在一个expect里面,当发生在这元祖里面的任何一个异常都能触发该expect
3、访问异常信息:
在expect后面的多异常或者expection+as+变量名。
可以访问该变量的属性。
①.args:可以查看该属性返回异常的错误编号和描述字符串。
{
②.errno:可以查看该属性返回异常的错误编号
③.strerror:可以查看该属性返回异常的描述字符串
}(我并不能使用这两种方法,我的教程(python疯狂讲义)上写的有这种方法。百度上面没找到类似内容)

④.with_traceback( ):通过该方法可以处理遗产的传播轨迹的信息
4、else块将在try语句没有问题的时候执行该代码
5、使用finally
finally是无敌的,是肯定会被执行的,所以可以用来回收内存中对象所占用的内存。(目前学到的唯一会被打断的就是import os后的os._exit(1)语句)
注意:不要在finally里面使用如return或者raise等会导致方法种中止的语句,使用后将会导致try块,except块中的return和raise语句失效。
6、raise的理解:
raise + 某异常,相当于触发某异常。如果expect里面有该异常就会执行该异常的代码(必须要有。不然触发该异常时会报错)。
7、raise的使用:
在try中单独一个raise,(比如if)当触发后直接跳到expect,在其之中的语句都不会被执行(当然如果没有raise,出现了其他的系统异常,则还是会跳到对应的expect块)
在raise某个异常时,可以在后面的括号里面加东西
8、自定义异常类:
利用class定义一个新的异常类,然后再继承Exception。(不需要类体定义直接pass)
9、异常传播轨迹:
如果一个地方调用了很多函数,有看不懂运行异常的途径的,可以使用.with,_traceback()查看

本人小白,要是有错误的话,麻烦请在评论指出,谢谢~(๑•̀ㅂ•́)و✧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值