TypeError——当我把字符串和数字相加的时候
NameError——无法识别的标识符
KeyError——字典通过键值对获取值时,没有给定的键
ValueError: I/O operation on closed file.读文件内容的时候,前面已经关掉了文件而没有注意
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'xx.txt' -> 'test2.txt'。修改文件名后,再次运行修改,找不到文件
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'shuzk'。创建文件夹后,再次运行创建文件夹的操作,报错
valueError :不是整型的字符串用int()转换,报错
importError 注意当使用from package import item这种形式的时候,对应的item既可以是包里面的子模块(子包),或者包里面定义的其他名称,比如函数,类或者变量。
import语法会首先把item当作一个包定义的名称,如果没找到,再试图按照一个模块去导入。如果还没找到,恭喜,一个:exc:ImportError 异
如果使用形如import item.subitem.subsubitem这种导入形式,除了最后一项,都必须是包,而最后一项则可以是模块或者是包,但是不可以是类,函数或者变量的名字。
UnboundLocalError: local variable 'len' referenced before assignment
一个重要的错误typeError:'int' object is not iterable
在list comprehensioin列表解析式中出现
异常名称 | 描述 |
---|---|
BaseException | 所有异常的基类 |
SystemExit | 解释器请求退出 |
KeyboardInterrupt | 用户中断执行(通常是输入^C) |
Exception | 常规错误的基类 |
StopIteration | 迭代器没有更多的值 |
GeneratorExit | 生成器(generator)发生异常来通知退出 |
SystemExit | Python 解释器请求退出 |
StandardError | 所有的内建标准异常的基类 |
ArithmeticError | 所有数值计算错误的基类 |
FloatingPointError | 浮点计算错误 |
OverflowError | 数值运算超出最大限制 |
ZeroDivisionError | 除(或取模)零 (所有数据类型) |
AssertionError | 断言语句失败 |
AttributeError | 对象没有这个属性 |
EOFError | 没有内建输入,到达EOF 标记 |
EnvironmentError | 操作系统错误的基类 |
IOError | 输入/输出操作失败 |
OSError | 操作系统错误 |
WindowsError | 系统调用失败 |
ImportError | 导入模块/对象失败 |
KeyboardInterrupt | 用户中断执行(通常是输入^C) |
LookupError | 无效数据查询的基类 |
IndexError | 序列中没有没有此索引(index) |
KeyError | 映射中没有这个键 |
MemoryError | 内存溢出错误(对于Python 解释器不是致命的) |
NameError | 未声明/初始化对象 (没有属性) |
UnboundLocalError | 访问未初始化的本地变量 |
ReferenceError | 弱引用(Weak reference)试图访问已经垃圾回收了的对象 |
RuntimeError | 一般的运行时错误 |
NotImplementedError | 尚未实现的方法 |
SyntaxError | Python 语法错误 |
IndentationError | 缩进错误 |
TabError | Tab 和空格混用 |
SystemError | 一般的解释器系统错误 |
TypeError | 对类型无效的操作 |
ValueError | 传入无效的参数 |
UnicodeError | Unicode 相关的错误 |
UnicodeDecodeError | Unicode 解码时的错误 |
UnicodeEncodeError | Unicode 编码时错误 |
UnicodeTranslateError | Unicode 转换时错误 |
Warning | 警告的基类 |
DeprecationWarning | 关于被弃用的特征的警告 |
FutureWarning | 关于构造将来语义会有改变的警告 |
OverflowWarning | 旧的关于自动提升为长整型(long)的警告 |
PendingDeprecationWarning | 关于特性将会被废弃的警告 |
RuntimeWarning | 可疑的运行时行为(runtime behavior)的警告 |
SyntaxWarning | 可疑的语法的警告 |
UserWarning | 用户代码生成的警告 |
********************************************************************************************
文件默认指定读操作下去写文件
io.UnsupportedOperation: not writable
file=open("readme")
file.write("hello")
file.close()
***********************
Traceback (most recent call last):
File "D:/heima/basic_workspace2/笔记/0811/test.py", line 3, in <module>
file.write("hello")
io.UnsupportedOperation: not writable
********************************************************************************************
定义的读写文件的方式错误,方式只有r/w/a
file=open("readme","t") # w只写入,会覆盖;文件不存在就创建
# a追加的方式;文件不存在就创建
file.write("hello123")
file.close()
********************************
Traceback (most recent call last):
File "D:/heima/basic_workspace2/笔记/0811/test.py", line 2, in <module>
file=open("readme","t") # w只写入,会覆盖
ValueError: Must have exactly one of create/read/write/append mode and at most one plus
********************************************************************************************
class Foo:
pass
# 添加实例方法
def echo_bar(self):
print(self.bar)
# echo_bar() # 报错
FooChild=type('FooChild',(Foo),{'echo_bar':echo_bar})
# #让FooChild类中的echo_bar属性,指向了上面定义的函数
hasattr(FooChild,'echo_bar')
hasattr(FooChild,'echo_bar')
#************************************************************
Traceback (most recent call last):
File "D:/X_heima/python_workspace/python01_python基础语言/demo05_使用type创建带有方法的类.py", line 8, in <module>
FooChild=type('FooChild',(Foo),{'echo_bar':echo_bar})
TypeError: type.__new__() argument 2 must be tuple, not type