zoukankan      html  css  js  c++  java
  • python Exception中的raise、assert

    使用raise抛出异常
    当程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。
    演示raise用法。
    try:
         s = None
         if s is None:
             print "s 是空对象"
             raise NameError     #如果引发NameError异常,后面的代码将不能执行
         print len(s)
    except TypeError:
         print "空对象没有长度"
    
    自定义异常
    python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。
    from __future__ import division
    
    class DivisionException(Exception):
          def __init__(self, x, y):
                Exception.__init__ (self, x, y)       #调用基类的__init__进行初始化
                self.x = x
                self.y = y
    
    if __name__ == "__main__":
          try:
                x = 3
                y = 2
                if x % y > 0 :                              #如果大于0, 则不能被初始化,抛出异常
                      print x/y
                      raise DivisionException(x, y)
          except DivisionException,div:                     #div 表示DivisionException的实例对象
                print "DivisionExcetion: x/y = %.2f" % (div.x/div.y)
    

    运行结果:

    1.5
    DivisionExcetion: x/y = 1.50

    assert语句的使用
    assert语句用于检测某个条件表达式是否为真。assert语句又称为断言语句,即assert认为检测的表达式永远为真,if语句中的条件判断都可以使用assert语句检测。

      

  • 相关阅读:
    windows中echo的用法
    通过phpMyAdmin写入MySQL,获取webshell
    底部小鱼特效
    kali Linux的简单介绍
    Kali安装gmpy2
    利用kali生成字典的三种方式
    利用kali嗅探HTTP网页用户账户密码
    永恒之蓝(ms017-010)漏洞利用
    如何使用最新Microsoft Edge打开Flash页面
    结对第二次作业
  • 原文地址:https://www.cnblogs.com/ouyxy/p/6082769.html
Copyright © 2011-2022 走看看