python 异常处理(五)

异常处理&异常基类

1、处理异常 try.....except

语法:

1

try

放可能会出现问题的代码

except

处理错误的方式

例如:

try:

    print(ab)  #无错执行

except:

    print("出错了!")  #出错执行

print("正在执行。。。。")

2)只处理某种类型的错误

try

放可能会出现问题的代码

except 基类:#指定处理哪种类型的错误

处理错误的方式

例如:

try:

    print(ab)

except NameError:

    print("出错了!")

print("正在执行。。。。")

3)多种类型错误

try:
放可能会出现问题的代码
except Exception as e:
处理错误的方式

例如:

try:

    print(ab)

except Exception as e:

    print("出错了:{0}".format(e))

print("正在执行。。。。")

4else子句和finally子句

else子句:当try下边的代码不报错的时候才会处理else下的代码否则不执行

try:
放可能会出现问题的代码
except Exception as e:
处理错误的方式

else

执行的代码

finally子句:

try:
放可能会出现问题的代码
except Exception as e:
处理错误的方式

finally

执行的代码

2、错误的基类

标准异常:

异常名名称

描述

BaseException

所有异常的基类

SymtemExit

python 解释器请求退出

KeyboardInterrupt

用户中断执行(ctrl+c)

Exception

常规错误的基类

StopIteration

迭代器没有更多的值了

GeneratorExit

生成器发生异常通知退出

StandardError

内建标准异常的基类

ArithmeticError

所有数值计算错误的基类

FloatingPointError

浮点计算错误

OverflowError

数值运算超出最大限制

ZeroDivisionError

(取模)0错误

AssertionError

断言语句失败

AttributeError

对象没有这个属性

EOFError

没有内建输入,到达EOF标志

EnvironmentError

操作系统错误的基类

IOError

输入/输出操作失败

OSError

操作系统错误

WindowsError

windows系统调用失败

ImportError

导入模块/对象失败

LookupError

无效数据查询的基类

IndexError

序列中无此索引

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

可疑的运行时行为的警告

SyntaxWarning

可疑的语法的警告

UserWarning

用户代码生成的警告

3、资源的交互处理,上下文管理器  返回布尔值

with open("test_data.txt",'a',encoding='utf-8')as file:

    file.write("判断是否关闭")

print("file的状态",file.closed)

1、代码的执行入口:当点击右键执行当前文件时才会执行函数

if __name__ == '__main__':#只有在当前文件执行时main下的代码才会执行,否则不执行。

posted @ 2019-10-16 17:02  Y、  阅读(232)  评论(0编辑  收藏  举报