zoukankan      html  css  js  c++  java
  • day07_12 python中的异常处理 与 自定义异常报错

    __author__ = "Alex Li"
    
    
    '''
    names = ['alex','jack']
    data = {}
    # data['name']
    # names[3]
    
    # 报错内容
    # Traceback (most recent call last):
    #   File "E:/python S14/day7/异常处理.py", line 21, in <module>
    #     data['name']
    # KeyError: 'name'
    
    
    try:
        names[3]
        data['name']
    
    
    #不同错误统一处理
    except Exception as e :
         print("出错了",e)
    
    # except KeyError as e :  #获取结果
    #     print("没有这个key\n", e)
    # except IndexError as e :
    #     print("列表操作错误\n",e)
    '''
    
    
    
    
    #知道程序会出错但是不想让程序停止,做出预处理
    # d = Dog("NiuHanYang")
    # choice = input(">>:").strip()
    # getattr(d,choice)
    
    
    
    names = ['alex','jack']
    data = {}
    
    try:
        # names[3]
        # data['name']
        # open("tes.txt")
        names[1]
    
    except KeyError as e :
        print("没有这个key",e)
    except IndexError as e :
        print("列表操作错误",e)
    except BaseException as e:
        print("未知错误",e)
    else:
        print("一切正常")
    finally:
        print("不管有没有错,都执行")
    
    
    # 异常种类
    # AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
    # IOError 输入/输出异常;基本上是无法打开文件
    # ImportError 无法引入模块或包;基本上是路径问题或名称错误
    # IndentationError 语法错误(的子类) ;代码没有正确对齐
    # IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
    # KeyError 试图访问字典里不存在的键
    # KeyboardInterrupt Ctrl+C被按下
    # NameError 使用一个还未被赋予对象的变量
    # SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
    # TypeError 传入对象类型与要求的不符合
    # UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
    # 导致你以为正在访问它
    # ValueError 传入一个调用者不期望的值,即使值的类型是正确的
    
    # 缩进语法错误抓不住
    
    

    自定义异常输出

    __author__ = "Alex Li"
    
    
    class AlexError(Exception):
        def __init__(self, msg):
            self.message = msg
        # def __str__(self):
        #     return self.message
        #     # return 'sdfsf'
    
    try:
        # name = []
        # name[3]
        raise AlexError('数据库连不上')
    
    except IndexError as e:
        print(e)
    except AlexError as e:
        print(e)
    
  • 相关阅读:
    C语言深度剖析-----函数与指针分析
    C语言深度剖析-----多维数组和多维指针
    C语言深度剖析-----指针数组和数组指针的分析
    C语言深度剖析-----数组参数和指针参数分析
    C语言深度剖析-----C语言中的字符串
    C语言深度剖析-----数组与指针分析
    C语言深度剖析-----数组基础
    C语言深度剖析-----函数与指针的分析
    数据结构笔记-----线性表
    JavaScript函数的4种调用方法详解
  • 原文地址:https://www.cnblogs.com/netflix/p/14855027.html
Copyright © 2011-2022 走看看