python 常见错误提示

一、TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误

错误例子:

age=18

print(‘我的年龄是’+age)

报错信息:TypeError: can only concatenate str (not "int") to str

这是类型错误,提示必须是一个字符串,不能是数字。

解决方法:在使用“+”做拼接的时候,必须使用字符串,或者把数字转化成字符串。

二、AttributeError:属性错误,特性引用和赋值失败时会引发属性错误

tp=('1','3','5')

tp.append('7')

print(tp)

AttributeError: 'tuple' object has no attribute 'append'

提示:属性错误:元组对象没有“append”的属性,简单来说元组是不可变对象。

解决方法:把元组换成列表。

三、NameError:试图访问的变量名不存在

print(a)

报错:NameError: name 'a' is not defined。

变量a没有定义,解决方法是在前面给a赋值

 

还有一种需要小心处理的是:变量或者函数名拼写错误。

四、SyntaxError:语法错误,代码形式错误

五、KeyError:在读取字典中的key和value时,如果key不存在,就会触发KeyError错误

六、IndexError:索引错误,使用的索引不存在,常索引超出序列范围,序列中没有此索引(index)

七、IndentationError:缩进错误

八、TabError: Tab 和空格混用

其它常见标准异常

AssertionError

 

 

断言语句(assert)失败

 

 

AttributeError

 

 

尝试访问未知的对象属性

 

 

EOFError

 

 

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

 

 

FloatingPointError

 

 

浮点计算错误

 

 

GeneratorExit

 

 

generator.close()方法被调用的时候

 

 

ImportError

 

 

导入模块失败的时候

 

 

IndexError

 

 

索引超出序列的范围

 

 

KeyError

 

 

字典中查找一个不存在的关键字

 

 

KeyboardInterrupt

 

 

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

 

 

MemoryError

 

 

内存溢出(可通过删除对象释放内存)

 

 

NameError

 

 

尝试访问一个不存在的变量

 

 

NotImplementedError

 

 

尚未实现的方法

 

 

OSError

 

 

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

 

 

OverflowError

 

 

数值运算超出最大限制

 

 

ReferenceError

 

 

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

 

 

RuntimeError

 

 

一般的运行时错误

 

 

StopIteration

 

 

迭代器没有更多的值

 

 

SyntaxError

 

 

Python的语法错误

 

 

IndentationError

 

 

缩进错误

 

 

TabError

 

 

Tab和空格混合使用

 

 

SystemError

 

 

Python编译器系统错误

 

 

SystemExit

 

 

Python编译器进程被关闭

 

 

TypeError

 

 

不同类型间的无效操作

 

 

UnboundLocalError

 

 

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

 

 

UnicodeError

 

 

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

 

 

UnicodeEncodeError

 

 

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

 

 

UnicodeDecodeError

 

 

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

 

 

UnicodeTranslateError

 

 

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

 

 

ValueError

 

 

传入无效的参数

 

 

ZeroDivisionError

 

 

除数为零

 

try……except……捕获异常

#捕获特殊异常
while True:
    try:
        age = int(input('你今年几岁了?'))
        break
    except ValueError:
        print('你输入的不是数字!')

 

#捕获异常信息
try:

  ...

except Exception as e:

  ...

 

except ValueError as err:
     print('错误的值是:', err) 

 

 

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值