# -*- coding: UTF-8 -*- # AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x # IOError 输入/输出异常;基本上是无法打开文件 # ImportError 无法引入模块或包;基本上是路径问题或名称错误 # IndentationError 语法错误(的子类) ;代码没有正确对齐 无法捕捉错误 # IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] # KeyError 试图访问字典里不存在的键 # KeyboardInterrupt Ctrl+C被按下 # NameError 尝试访问一个没有申明的变量 # SyntaxError Python代码非法,代码不能编译 # TypeError 传入对象类型与要求的不符合 # UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 # ValueError 传入一个调用者不期望的值,即使值的类型是正确的 names = ['lin','yao'] data = {} try: # names[3] # data['name'] open("test.txt") # a = 1 # print(a) # except (KeyError,IndexError) as e: #同时步骤两个错误 # print("没有这个key",e) except KeyError as e: #单个捕捉错误 print("没有这个key",e) except IndexError as e: #单个捕捉错误 print("列表操作错误") except Exception as e: #捕捉所有的错误,一般不用 print("未知错误",e) else: #当没有任何错误的时候执行下面的 print("一切正常") finally: print("不管有没有错都执行") print("这里的代码还会继续运行")