15、Python之异常处理

异常处理

   1、 异常处理是所有语言都不可缺少的部分,我们在编写代码的时候,有时候会预期到某段代码可能会发生错误,如果错误发生了,我们通过异常捕获,来对发生异常的代码进行后续处理,比如有一段连接数据库的代码,这里有一个明显可能发生的异常就是,数据库连接失败,对于我们的程序而言,如果数据库连接失败了,后续的业务场景就没法继续了,因此我会抓住这个异常,然后来开始我们的planB操作。

    python中一个完整的异常结构为:

try:
    print("可能发生异常的程序")
except (IOError,IndexError) as e:
    print("发生异常后进行的操作")
except:
    print("所有异常都没有抓住的情况下")
else:
    print("没有发生异常继续执行")
finally:
    print("不管异是否发生都需要执行,进行收尾工作")

 

值得要注意的是finally,这里面的代码不管异常是否存在都会执行,其原因在于,有些程序不管异常是否发生都需要做一些收尾工作,比如数据库连接,如果异常发生了,后续代码不执行,那么数据库的连接就没有关闭。换句话说,finally的作用就是在异常发生之后,程序中断之前,让我们做一些收尾工作。

2、写一个自己的异常

    只要继承Exception的类即可。

 1 '''我自己的异常'''
 2 class MyException(Exception,object):
 3     def __init__(self,name):
 4         self.name = name
 5     def sayHi(self):
 6         print("异常发生之后的处理")
 7 
 8 '''捕获我自己的异常'''
 9 try:
10     raise MyException("我的异常")
11 except MyException as e:
12     e.sayHi()
View Code

 

posted @ 2018-03-01 17:02  高文祥888888  阅读(121)  评论(0编辑  收藏  举报