9.python异常处理

常见异常

 
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)
主动触发异常
相关文章
相关标签/搜索