zoukankan      html  css  js  c++  java
  • Python基础入门知识点——Python中的异常

    前言

    在先前的一些章节里你已经执行了一些代码,你一定遇到了程序“崩溃”或因未解决的错误而终止的情况。你会看到“跟踪记录(traceback)”消息以及随后解释器向你提供的信息,包括错误的名称、原因和发生错误的行号。不管你是通过 Python 解释器执行还是标准的脚本执行,所有的错误都符合相似的格式,这提供了一个一致的错误接口。所有错误,无论是语意上的还是逻辑上的,都是由于和 Python 解释器不相容导致的,其后果就是引发异常。

    我们来看几个异常的例子。

    NameError

    尝试访问一个未申明的变量

     

    NameError 表示我们访问了一个没有初始化的变量。

    在 Python 解释器的符号表没有找到那个那个被调用的变量。任何可访问的变量必须先定义才能使用,访问变量需要由解释器进行搜索,如果请求的名字没有在任何名称空间里找到,那么将会生成一个NameError 异常。

    ZeroDivisionError

    除数为零

     

    任何数值被零除都会导致一个 ZeroDivisionError 异常。

    SyntaxError

    Python解释器语法错误

     

    SyntaxError 代表Python代码中有一个不正确的结构,在它改正之前程序无法执行。

    IndexError

    请求的索引超出序列范围

     

    IndexError 在你尝试使用一个超出范围的值索引序列时引发。

    KeyError

    请求一个不存在的字典关键字

     

    映射对象,例如字典,是依靠关键字(key)访问数据值的。如果使用错误的或是不存在的键请求字典就会引发一个KeyError异常。

    IOError

    操作的文件不存在

     

    类似尝试打开一个不存在的磁盘文件一类的操作会引发一个操作系统输入/输出(I/O)错误。任何类型的I/O错误都会引发IOError异常。

    AttributeError

    尝试访问未知的对象属性

     

    在我们的例子中,我们在 myInst.bar 储存了一个值,也就是实例 mylnst 的 bar 属性。属性被定义后,我们可以使用熟悉的点/属性操作符访问它,但如果是没有定义属性,例如我们访问 foo 属性,将导致一个 AttributeError 异常。

  • 相关阅读:
    让mysql的id字段变成表的主键
    nginx 反向代理是url带后缀
    蓝鲸-监控 排错思路
    蒲公英v5p%n搭建局域网后用nginx做代理的配置 + nginx日志分片 切割
    DevExpress12、DocumentManager
    DevExpress06、Popup Menus、RadialMenu、XtraTabControl、SplitContainerControl、GroupControl
    DevExpress05、TileControl、AlertControl
    SQL Server(00):一行字段串拆分成多行显示或者多行数据合并成一行
    SQL Server(00):使用 CROSS APPLY 与 OUTER APPLY 连接查询
    SQL Server(00):行列转换PIVOT与unPIVOT
  • 原文地址:https://www.cnblogs.com/hhh188764/p/13499155.html
Copyright © 2011-2022 走看看