Python中异常事件

异常即是一个事件,一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
1. 捕获异常 try...except...把可能出现问题的代码,放在try中。把处理异常的代码,放在except中
except 后面可以添加错误类型except FileNotFoundError:但如果错误类型与异常不符将会报错
except捕获的错误类型是FileNotFoundError,而此时程序产生的异常为 NameError ,所以except没有生效
except当捕获多个异常时,可以把要捕获的异常的名字,放到except 后,并使用元组的方式仅进行存储except (NameError,FileNotFoundError):
获取异常的信息描述在错误后面加as result  
except  NameError as result              except( NameError,FileNotFoundError) as result:
捕获所有的异常信息用except但不能知道异常的具体信息    
except Exception as result  捕获所有信息得到错误信息
在try...except...如果没有捕获到异常,那么就执行else中的事情
注意,else一定要有except否则包语法错误
 try...finally...语句用来表达这样的情况:
在程序中,如果一个段代码必须要执行,即无论异常是否产生都要执行,那么此时就需要使用finally。 比如文件关闭,释放锁,把数据库连接返还给连接池等。
 如果try嵌套,那么如果里面的try没有捕获到这个异常,那么外面的try会接收到这个异常,然后进行处理,如果外边的try依然没有捕获到,那么再进行传递。(逐层向外传递)
使用raise抛出异常(raise 抛出异常后后面没有except接收则把异常抛给系统相当与不处理)
你可以用raise语句来引发一个异常,异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类。
使用raise抛出自定义异常

控制打印异常还是抛出异常
注意以上程序中,关于代码#super().__init__()的说明
这一行代码,可以调用也可以不调用,建议调用,因为__init__方法往往是用来对创建完的对象进行初始化工作,如果在子类中重写了父类的__init__方法,即意味着父类中的很多初始化工作没有做,这样就不保证程序的稳定了,所以在以后的开发中,如果重写了父类的__init__方法,最好是先调用父类的这个方法,然后再添加自己的功能。
 __name__=="__main__"系统默认的 __name__的值就是"__main__"
If  __name__=="__main__"用来是否为当前类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值