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

python学习第七周之异常处理

时间:2019-09-25 17:23:44      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:python学习   学习   highlight   exception   自定义异常   exce   final   error   ISE   

1.异常处理

异常处理其实就是将程序抛出的错误抓住,以便能够不影响程序的运行。

我们先定义一个列表,跟一个字典

names=[‘wu‘,‘jack‘]
data={}

 (1)然后抓住它们抛出的异常:

try:
    names[3]
    data[‘name‘]

except IndexError as e:
    print("列表操作错误",e)
except KeyError as e:
    print("没有这个key",e)

   以上这两个均异常,抓住一个异常便不会在往下走了,所以结果为:列表操作错误 list index out of range

  我们还可以将这两个写在一起:

except (KeyError,IndexError) as e:
    print("没有这个key",e)

 (2)如果是文件系统的系统异常,如以下代码

try:
    open("tes.txt")
    a=1
except FileNotFoundError as e:   #针对文件存在的错误,    open("tes.txt")
     print("有错误", e)

 (3)如果是已知的抛出异常,我们用已知的名字来写,如FileNotFoundError,这样方便调试程序;

如果是未知的错误,我们用以下程序,except Exception 可以抓住所有的错误;

except Exception as e:    #抓住所有的错误,可以用这个来抓取未知的错误
     print("未知错误",e)

 (4)else在没有发生错误时执行

else:   #没有错误的时候执行
     print("一切正常")

 (5)finally,不管有没有错误都会执行

finally:  #不管有没有错误都会执行
     print("不管用没有错都执行")

 2.总结:异常处理的一般格式

try :
        code
    except (Error1,Erro2) as e:
        print e

    except Exception :抓住所有错误,可以用来抓取未知错误

3.自定义异常:

class WuException(Exception):
    def __init__(self, msg):
        self.message = msg
    def __str__(self):
        return self.message
        # return "ssss"
try:
    raise WuException(‘数据库连接不上‘)    #触发异常
except WuException as e:
    print(e)

 

python学习第七周之异常处理

标签:python学习   学习   highlight   exception   自定义异常   exce   final   error   ISE   

原文地址:https://www.cnblogs.com/wuxiaoru/p/11586068.html

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