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


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

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

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

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

    try…finally的使用方法
    try…except后还可以添加一个finally子句。无论异常是否发生,finally子句都会被执行。所有的finally子句通常用于关闭因异常而不能释放的系统资源。

    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后面的语句将不能执行。

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

    python异常处理还有很多内容,欢迎补充提出。

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

  • 相关阅读:
    喜得千金
    ASP.NET MVC +EasyUI 权限设计(四)角色动作
    SQL Server 2008 远程过程调用失败
    ASP.NET MVC +EasyUI 权限设计(三)基础模块
    ASP.NET MVC +EasyUI 权限设计(二)环境搭建
    ASP.NET MVC +EasyUI 权限设计(一)开篇
    Entity Framework学习笔记(六)----使用Lambda查询Entity Framework(1)
    暂停更新Blog
    Entity Framework学习笔记(五)----Linq查询(2)---贪婪加载
    Exp9 Web安全基础
  • 原文地址:https://www.cnblogs.com/paulweihan/p/4660105.html
Copyright © 2020-2023  润新知