python标准异常
- BaseException 所有异常的基类
- SystemExit 解释器请求退出
- Keyboardlnterrupt 用户中断执行(通常是输入^C)
- Exception 常规错误的基类
- Stoplteration 迭代器没有更多的值
- GeneratorExit 生成器(generator)发生异常来通知退出
- StandardError 所有内建标准异常的基类
- ArithmeticError 所有数值计算错误的基类
- FloatingPointError 浮点计算错误
- OverflowError 数值运算超过最大的限制
- AssertionError 断言语句失败
- AttrbuteError 对象没有这个属性
- EOFError 没有内建输入,到达EOF标记
- IOError 输入/ 输出错误
- OSError操作系统错误
- WIndowsError 系统调用失败
- ImportError 导入模块/对象失败
- LookupError 无效数据查询的基类
- IndexError 序列没有索引
- keyError 映射中没有这个键
- MemoryError 内存溢出错误
- NameError 未声明/ 初始化对象(没有属性)
- UnboundLocalError 访问未初始化的本地变量
- ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
- RuntimeError 一般的运行错误
- NotImplementdeError 尚未实现的方法
- SynataxErrorPython 语法错误
- IndentationError 缩进错误
- TabErrporTab 和空格混用
- SystemError 一般解释器系统错误
- TypeError 对类型无效的操作
- ValueError 传入无效的参数
- AttributeError:属性错误
- UnicodeErrorUnicode 相关的错误
- UnicodeDecodeErrorUnicode 解码时的错误
- UnicodeEncodeErrorUnicode 编码时的错误
- UnicodeTranslateErrorUnicode 转换时错误
异常处理
捕捉异常
捕捉所有异常(try/ execpt)语句
try:
c = int(input("请输入整数选项:"))
print("用户输入了:%d" % c) # 处理异常
except:
print("出现了异常,用户输入了非法数据")
else:
printr("如果没有异常执行这块代码)
通过try捕捉可能出现的异常,如果出现异常~并不让程序直接崩溃退出,而是执行except中的代码块来处理出现的异常
上述代码中,可以通过except处理在try代码块中出现的任意异常
捕捉异常(try / finally)
try:
xc = open(“ssss”,“p”)
try:
xc.write("这是一个用于测试异常的文件“)
finally:
print(”关闭文件“)
xc.close()
except:
print("错误信息:”)
给异常信息定义别名(as 关键词)
try:
c = int(input("请输入整数选项:"))
print("用户输入了:%d" % c)
# 处理指定的异常并获取异常信息
except ValueError as e:
print("出现了异常,用户输入了非法数据", e)
上述代码中,在except中指定了处理的异常信息,并且通过as别名的方式将异常信息保存在了一个变量e中,后续可以通过变量e打印出现的异常信息