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)
    
  • 相关阅读:
    Unity攻击敌人时产生泛白效果
    将网页发布到远程windows server
    IIS服务器添加网站
    ASP.NET添加Mysql数据源
    ASP.NET网页VS利用文件系统发布
    爱的印记
    生如夏花之绚烂,死如秋叶之静美
    WordPress函数小结
    设置WordPress文章关键词自动获取,文章所属分类名称,描述自动获取文章内容,给文章的图片自动加上AlT标签
    童年的流逝
  • 原文地址:https://www.cnblogs.com/netflix/p/14855027.html
Copyright © 2011-2022 走看看