9.异常处理

常见异常

1
2
3
4
5
6
7
8
9
10
11
12
13
AttributeError       试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x
FileNotFoundError    输入/输出异常;基本上是无法打开文件
ImportError          无法引入模块或包;基本上是路径问题或名称错误
IndentationError     语法错误(的子类) ;代码没有正确对齐
IndexError           下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError             试图访问字典里不存在的键
KeyboardInterrupt    Ctrl+C被按下
NameError            使用一个还未被赋予对象的变量
SyntaxError          Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError            传入对象类型与要求的不符合
UnboundLocalError    试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
                     导致你以为正在访问它
ValueError           传入一个调用者不期望的值,即使值的类型是正确的
name = [1,2,3]
try:
    print(name[5])
except IndexError as e:
    print("列表操作错误",e)
IndexError
data = {'zhang':12}
try:
    print(data['li'])
except KeyError as e:
    print("没有这个key",e)



没有这个key 'li'
KeyError
try:
    open("tes.txt")

except (KeyError,IndexError) as e :
    print("没有这个key",e)

except IndexError as e :
    print("列表操作错误",e)

except Exception as e:
    print("未知错误",e)

else:
    print("一切正常")

finally:
    print("不管有没有错,都执行")
异常结构
try:
    raise Exception('错误')
except Exception as e:
    print(e)
主动触发异常

 

  

posted @ 2019-06-26 22:26  ليو  阅读(132)  评论(0编辑  收藏  举报