python异常处理笔记

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打印出现的异常信息

你可能感兴趣的:(python异常处理笔记)