Python异常处理 分类: python Raspberry Pi 服务器搭建 2015-04-01 13:22 172人阅读 评论(0) 收藏

一个程序要保持稳定运行必需要有异常处理,本文将简单介绍Python中的try…except..异常处理语句的使用。
该种异常处理语法的规则是:python

  • 执行try下的语句,若是引起异常,则执行过程会跳到第一个except语句。
  • 若是第一个except中定义的异常与引起的异常匹配,则执行该except中的语句。
  • 若是引起的异常不匹配第一个except,则会搜索第二个except,容许编写的except数量没有限制。
  • 若是全部的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。
  • 若是没有发生异常,则执行else块代码(else无关紧要)。
  • 若是最后有finally语句,论异常是否发生,finally子句都会被执行。

演示try…except语句捕获IOError异常markdown

try:
     file("hello.txt", "r")                  #若是文件不存在,引起异常
     print "读文件"
except IOError:                              #捕获IO异常
     print "文件不存在"
except#其它异常
     print "程序异常"

try…finally的使用方法
try…except后还能够添加一个finally子句。不管异常是否发生,finally子句都会被执行。全部的finally子句一般用于关闭因异常而不能释放的系统资源。spa

try:
     f = open("hello.txt", "r")
     try:
          print f.read(5)
     except:
          print "读文件异常"
     finally:
          print "释放资源"
          f.close()
except IOError:
     print "文件不存在"

使用raise抛出异常
当程序出现错误,python会自动引起异常,也能够经过raise显示地引起异常。一旦执行了raise语句,raise后面的语句将不能执行。code

try:
     s = None
     if s is None:
         print "s 是空对象"
         raise NameError     #若是引起NameError异常,后面的代码将不能执行
     print len(s)
except TypeError:
     print "空对象没有长度"

python异常处理还有不少内容,欢迎补充提出。对象

版权声明:本文为博主原创文章,未经博主容许不得转载。资源

相关文章
相关标签/搜索