zoukankan      html  css  js  c++  java
  • 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异常处理还有很多内容,欢迎补充提出。

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

  • 相关阅读:
    Bootstrap留言板界面练习
    Bootstrap 学习
    web | [GXYCTF2019]禁止套娃
    re | [GKCTF2020]WannaReverse
    PE文件结构 | 在PE文件的空白区添加代码
    PE文件结构 | RVA与FOA的转换
    re | [NPUCTF2020]BasicASM
    win32 | WinSock2网络编程 | socket-tcp通信
    web | flask 修饰器实现原理
    运维 | 配置LNMP | 基于docker.ubuntu:16.04
  • 原文地址:https://www.cnblogs.com/paulweihan/p/4660105.html
Copyright © 2011-2022 走看看