zoukankan      html  css  js  c++  java
  • Python3.3 学习笔记5 异常处理

    • 与python异常相关的关键字
      • raise:手动抛出/引发异常:raise [exception[,data]]
      • try/except:捕获异常并处理
      • pass:忽略异常
      • as:定义异常实例(except IOError as e)
      • finally:无论是否出现异常,都执行的代码
      • else:如果try中的语句没有引发异常,则执行else中的语句
      • except Exception as error:
    • python中的异常类型
      • StandardError类:如果程序上出现逻辑错误, 将引发该异常。StandardError类是所有内敛异常的基类,放置在默认的命名空间中,因此使用IOEroor, EOFError, ImportError等类,不需要导入exception模块。
      • StopIteration类:判断循环是否执行到尾部,如果循环到尾部,则抛出该异常。
      • GeneratorExit类:是由Generator函数引发的异常,当调用close()时引发该异常。
      • Warning类:表示程序中的代码引起的警告。
    • try ... expect
      • try:
      •     block
      • except [exception1(,exception2...),[data…]]:
      •     block
      • (else:    block)
      • 例1:
        • try:
        •     1/0
        • except ZeroDivisionError as errorinfor:
        •     print(errorinfor) #输出详细错误信息:integer division or modulo by zero
      • 例2:
        • try:
        •   print "Testing begins!"
        •     raise MyError #自己抛出一个异常,后面代码不执行.
        • except MyError:
        •     print 'This a defined error!'
        • except:
        •   print "Other error!"
    • try ... finally
      • finally 里面只是执行完成try中的代码后,必须执行的代码, 即使是 try中有异常抛出,也是会去执行finally
      • 所以,一般情况下,finally里面执行的都是一些清理工作,比如:关闭文件描述符,释放锁等 
      • 注意,finally中,如果出现异常,外部如果没有相应的捕获机制,该异常会层层抛出,直到最顶端,然后解释器停止。一般在外层再加一次try except异常捕获

     

    参考文档

     

  • 相关阅读:
    斜二进制数
    贝贝的波浪数
    1058: 电文保密
    1065: 贝贝的加密工作
    低危漏洞- X-Frame-Options Header未配置
    1064: 不明飞行物(ufo)
    支付
    1067: 密室寻宝(find)
    c++10进制转换为任意2-16进制数字
    1066: 单词游戏(game)
  • 原文地址:https://www.cnblogs.com/xumengpiaoyun/p/2816749.html
Copyright © 2011-2022 走看看