• 9.python异常处理


    常见异常

    AttributeError       试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
    FileNotFoundError    输入/输出异常;基本上是无法打开文件
    ImportError          无法引入模块或包;基本上是路径问题或名称错误
    IndentationError     语法错误(的子类) ;代码没有正确对齐
    IndexError           下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
    KeyError             试图访问字典里不存在的键
    KeyboardInterrupt    Ctrl+C被按下
    NameError            使用一个还未被赋予对象的变量
    SyntaxError          Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
    TypeError            传入对象类型与要求的不符合
    UnboundLocalError    试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
                         导致你以为正在访问它
    ValueError           传入一个调用者不期望的值,即使值的类型是正确的
    
    name = [1,2,3]
    try:
        print(name[5])
    except IndexError as e:
        print("列表操作错误",e)
    IndexError
    data = {'zhang':12}
    try:
        print(data['li'])
    except KeyError as e:
        print("没有这个key",e)
    
    
    
    没有这个key 'li'
    KeyError
    try:
        open("tes.txt")
    
    except (KeyError,IndexError) as e :
        print("没有这个key",e)
    
    except IndexError as e :
        print("列表操作错误",e)
    
    except Exception as e:
        print("未知错误",e)
    
    else:
        print("一切正常")
    
    finally:
        print("不管有没有错,都执行")
    异常结构
    try:
        raise Exception('错误')
    except Exception as e:
        print(e)
    主动触发异常

      

  • 相关阅读:
    给DOM元素绑定click事件也有学问
    几个JavaScript的浏览器差异处理问题
    CSS样式权重的级联cascade的概念
    你知道HTML标签设计的本意吗?
    一些奇怪的JavaScript试题
    JavaScript如何计算两个日期间的时间差
    Vim默认开启语法标识功能
    理解Python中的继承规则和继承顺序
    An Easy Introduction to CUDA C and C++
    super()
  • 原文地址:https://www.cnblogs.com/derek1184405959/p/8136086.html
Copyright © 2020-2023  润新知