码迷,mamicode.com
首页 > 编程语言 > 详细

15、Python之异常处理

时间:2018-03-01 19:51:10      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:原因   pen   因此   view   失败   log   close   str   ISE   

异常处理

   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

 

15、Python之异常处理

标签:原因   pen   因此   view   失败   log   close   str   ISE   

原文地址:https://www.cnblogs.com/win0211/p/8489350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!