python学习-基础-异常处理

异常:

  • 异常(exception):因运行时错误而出现,会产生一个traceback
  • “traceback”是出现的运行时错误的一个详细描述

常见异常:(待完善)

  • 数据不符合期望的格式时会出现ValueError
  • 数据无法正常访问时会出现IOErroe(例如,可能你的数据文件被移走或者重命名)
  • NameError ,调用的变量名称不存在

处理异常:

  • try/except语句提供了一个异常处理机制,从而保护可能导致运行时错误的某些代码
  • pass语句就是python的空语句或null语句,它什么也不做

try:

  code  #可能出现异常需要保护的语句(可以是多行)

except:  #冒号前可以加具体的error名称,来排除具体的异常,如ValueError

  pass    #如果出现一个运行时错误,或执行这个语句(无论运行时发生了什么,try语句会捕获所有异常并处理,用pass忽略掉这个错误)

 

finally

1 try:
2     print('abc')
3     print(abc)  #没有变量abc,所以此处会报NameValue
4     print('1')    #上面遇到异常了,便不会执行这一行了,直接执行except后面的内容
5 except NameError:
6     pass
7 finally:
8     print('2')  #无论try/except之间的代码正常运行还是出现异常都会执行finally组,不管异常是不是NameError,总之,finally组的内容总会运行。

输出:

abc
2

展示错误的内容

上面代码并不会显示真正发生了什么异常

try:
    print('abc')
    print(abc)
    print('1')
except NameError as err:       #将错误内容赋予变量str 
    print('Error is',str(err))        #要加上str将err的类型转为字符串
finally:
    print('2')                

输出:

abc
Error is name 'abc' is not defined
2

 

posted @ 2017-05-21 19:14  露似真珠月似弓  阅读(190)  评论(0编辑  收藏  举报