Python标准异常总结

持续整理更新。。。


ArithmeticError 所有数值计算错误的基类



AssertionError 断言语句(assert)失败


AttributeError 属性错误,特性引用和赋值失败时会引发属性错误,尝试访问未知的对象属性


BaseException 所有异常的基类


EOFError 用户输入文件末尾标志EOF(Ctrl+d)


DeprecationWarning 关于被弃用的特征的警告


Exception:所有异常的基类,因为所有python异常类都是基类Exception的其中一员,异常都是从基类Exception继承的,并且都在exceptions模块中定义。


EnvironmentError 操作系统错误的基类


FloatingPointError 浮点计算错误


FutureWarning 关于构造将来语义会有改变的警告


GeneratorExit generator.close()方法被调用的时候,生成器(generator)发生异常来通知退出


ImportError 导入模块失败的时候


IndexError 索引错误,使用的索引不存在,索引超出序列的范围


IOError:一般常见于打开不存在文件时会引发IOError错误,也可以解理为输出输入错误


KeyError 字典中查找一个不存在的关键字时引发的关键字错误


KeyboardInterrupt 用户输入中断键(Ctrl+c)


LookupError 无效数据查询的基类


MemoryError 内存溢出(可通过删除对象释放内存,对于Python 解释器不是致命的)


NameError 尝试访问一个不存在(未申明)的变量


NotImplementedError 尚未实现的方法


OSError 操作系统产生的异常(例如打开一个不存在的文件)


OverflowError 数值运算超出最大限制


OverflowWarning 旧的关于自动提升为长整型(long)的警告


PendingDeprecationWarning 关于特性将会被废弃的警告


ReferenceError 弱引用(weak reference)试图访问一个已经被垃圾回收机制回收了的对象


RuntimeError 一般的运行时错误


RuntimeWarning 可疑的运行时行为(runtime behavior)的警告


StopIteration 迭代器没有更多的值


SyntaxError Python的语法错误,代码形式错误


SyntaxWarning 可疑的语法的警告


StandardError 所有的内建标准异常的基类


IndentationError 缩进错误


TabError Tab和空格混合使用


SystemError Python编译器系统错误


SystemExit Python编译器进程被关闭


TypeError 类型错误,内建操作或是函数应于在了错误类型的对象时会引发类型错误


UserWarning 用户代码生成的警告


UnboundLocalError 访问一个未初始化的本地变量(NameError的子类)


UnicodeError Unicode相关的错误(ValueError的子类)


UnicodeEncodeError Unicode编码时的错误(UnicodeError的子类)


UnicodeDecodeError Unicode解码时的错误(UnicodeError的子类)


UnicodeTranslateError Unicode转换时的错误(UnicodeError的子类)


ValueError 值错误,传给对象的参数类型不正确


WindowsError 系统调用失败


Warning 警告的基类


ZeroDivisionError 除数为零,在用除法操作时,第二个参数为0时引发了该错误




放几个简单的错误提示及解决办法,持续修改中。。。


错误一:

  1. # TypeError: cannot concatenate 'str' and 'int' objects
  2. # 不能连接str和int对象
  3. age = 18
  4. str = "我今年" + age + "喜欢音乐"
  5. # 分析:
  6. # 这是一个类型错误,意味着Python无法识别你使用的信息。在这个示例中,Python发现你使
  7. # 用了一个值为整数( int )的变量,但它不知道该如何解读这个值。Python知道,这个变
  8. # 量表示的可能是数值18,也可能是字符1和8。像上面这样在字符串中使用整数时,需要显式地指
  9. # 出你希望Python将这个整数用作字符串。为此,可调用函数 str() ,
  10. # 它让Python将非字符串值表示为字符串:
  11. #解决方法: str = "我今年 " + str(age) + "喜欢音乐"
  12. print(str);</code>

错误二:

  1. # IndexError: list index out of range
  2. # 索引错误:列表索引超出范围
  3. # Python试图向你提供位于索引3处的元素,但它搜索列表 name 时,却发现索引3处没有元素
  4. # 鉴于列表索引差一的特征,这种错误很常见。有些人从1开始数,因此以为第三个元素的
  5. # 索引为3;但在Python中,因为索引是从0开始的,所以第三个元素的索引为2。
  6. name = [ 'tom', 'rose', 'lilei'];
  7. print(name[ 3])

错误三:

  1. # IndentationError: expected an indented block
  2. # 缩进错误:预期一个缩进快(意思需要一个缩进块)
  3. str1 = [ 'tom', 'rose', 'lilei'];
  4. for name in str1:
  5. print(name);

错误四:

  1. # IndentationError: unexpected indent
  2. # 缩进错误:意外缩进(这里不应缩进)
  3. str2 = "Hello world!";
  4. print(str2);

错误五:

  1. # TypeError: 'tuple' object does not support item assignment
  2. dimensions = ( 200, 50);
  3. print(dimensions);
  4. print(dimensions[ 0]);
  5. print(dimensions[ 1]);
  6. # TypeError: 'tuple' object does not support item assignment
  7. # 类型错误:元组对象不支持元素值重新分配,也就是不能尝试去修改元组中的任一个元素的值
  8. # dimensions[0] = 250;
  9. print(dimensions);

错误六:

  1. # SyntaxError: invalid syntax
  2. # 语法错误 非法的语法
  3. # 解决办法:看报错信息在第几行 ,从这一行往上找错误
  4. # if name == '小王'
  5. # print('Hello')
  6. tp1 = ()
  7. tp2 = tuple()
  8. tp1 = ((),[],{}, 1, 2, 3, 'a', 'b', 'c', 3.14 , True)
  9. print(tp1[:])
  10. print(tp1[ 1:: 2])
  11. print(tp1[ 5])
  12. # AttributeError: 'tuple' object has no attribute 'remove'
  13. # attribute 属性 object对象

错误七:

  1. 属性错误:元组对象没有属性 'remove'
  2. tp1.remove( 1)
  3. print(tp1)
  4. dic1 = {
  5. 'name': '张三',
  6. 'age' : 17 ,
  7. 'friend':[ '李四', '王五', '赵六', '冯七']
  8. }
  9. # 获取指定key值对应的name值
  10. print(dic1[ 'name'])
  11. # KeyError: 'fond'

错误八:

  1. # key 键错误 没有指定的键值“fond”
  2. # print(dic1['fond'])









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值