zoukankan      html  css  js  c++  java
  • python学习第七周之异常处理

    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)
    
  • 相关阅读:
    2021.4.14
    每日总结
    每日总结
    每日总结
    oracle db组面试 复习数据库
    二叉树根结点到叶节点的最短距离
    minheap 最小堆的实现
    Maximum element in a sorted and rotated array排序和旋转数组中的最大元素
    树和图bfs的一个共同点
    117. Populating Next Right Pointers in Each Node II 不完全二叉树连接右边节点
  • 原文地址:https://www.cnblogs.com/wuxiaoru/p/11586068.html
Copyright © 2011-2022 走看看