异常是什么?

当程序运行的时候,遇到Python无法正常处理程序时就会发生一个异常。此时如果不进行处理,程序就会终止。处理的方式就是捕获这个异常,并对其进行处理

异常语法
try:<语句> #运行别的代码except <名字>:<语句> #如果在try部份引发了'name'异常except <名字>,<数据>:<语句> #如果引发了'name'异常,获得附加的数据else:<语句> #如果没有异常发生

整个流程是这样的:

如果try中运行的代码没有异常,那么执行else

如果try中运行的代码有异常,那么就会匹配except,然后执行对应的异常处理

如果在try后的语句里发生了异常,却没有匹配的except子句,那么就没有办法处理了,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。

每天五分钟python编程:python程序的守护者——异常处理机制

一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,处理异常的时候,后面还可以跟着else和finally,else的意思是try中捕获不到异常的时候执行,finally的意思是无论有没有异常都会执行

抛出异常

Python 使用 raise 语句抛出一个指定的异常。例如:

try: raise NameError('HiThere') except NameError: print('An exception flew by!') raise
自定义异常{!-- PGC_COLUMN --}

异常类继承自 Exception 类,可以直接继承,或者间接继承。然后写一个构造方法__init__,用于接收异常信息msg

raise为抛出异常,捕获到异常输出e,则自动执行str方法,而我们自定义的类中没有str方法,所以就会执行父类的str方法,父类的str方法为输出当前对象的message,也就是异常信息

每天五分钟python编程:python程序的守护者——异常处理机制

相关文章