• 异常处理


    异常模板

    try:
        pass
    except Exception as e:   # Exception能捕获所有异常,语法错误、缩进错误无法抓取,都没有执行下来
        print("出现异常:",e)
    else:
      print("一切正常") # 不出错时执行(可不写)
    finally:
       pass # 无论是否异常,最终都会执行(可不写)

    常用的异常种类

    AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x
    IOError 输入/输出异常;基本上是无法打开文件
    ImportError 无法引入模块或包;基本上是路径问题或名称错误
    IndentationError 语法错误(的子类) ;代码没有正确对齐
    IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
    KeyError 试图访问字典里不存在的键
    KeyboardInterrupt Ctrl+C被按下
    NameError 使用一个还未被赋予对象的变量
    SyntaxError Python代码非法,代码不能编译
    TypeError 传入对象类型与要求的不符合
    UnboundLocalError 试图访问一个还未被设置的局部变量
    ValueError 传入一个调用者不期望的值,即使值的类型是正确的
    

     主动触发异常

    try:
        raise Exception("错误了...")   # 抛出异常(Exception可改为自定义的异常)
    except Exception as e:
        print(e)
    

     断言

     assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:
    assert expression [, arguments]
    assert 表达式 [, 参数]
    
    assert len(lists) >=5,'列表元素个数小于5'
    
    assert 2==1,'2不等于1'
    
  • 相关阅读:
    1059. Prime Factors (25)
    mybatis中resultType和resultMap的区别
    Spring Boot中使用Swagger2构建强大的RESTful API文档
    ES6之6种遍历对象属性的方法
    QQ授权登录
    nodejs爬虫入门
    nrm -- NPM registry 管理工具(附带测速功能)
    Sublime Text 3 使用MarkDown编写带预览的文本
    js中字符串函数indexOf与search的区别
    linux基础入门
  • 原文地址:https://www.cnblogs.com/sshcy/p/8178080.html
Copyright © 2020-2023  润新知