• python 中 raise 的用法


    一 用例中用法:

            # 获取预期结果 test_data["expected"]
            # 断言
            # 如果出现断言失败,需要将失败的用例记录到logger当中
            # 如果断言失败,会抛出一个异常,AssertionError
            # 如果不手动抛出异常,程序正常走不是走try就是except分支,测试用例都会全部显示通过;
            # 抛出异常就意味着程序运行错误,这条用例执行失败
            try:
                print(res["msg"])
                self.assertEqual(test_data["expected"],res["code"])
                # 把实际结果写入excel数据,通过case_id获取行号
                self.excel_handler.write(config.data_path,
                                         "register",
                                         test_data["case_id"]+1,
                                         9,
                                         "测试通过")
            except AssertionError as e:    # 如果出现错误,就会执行except的代码
                # 记录日志logger
                self.logger.error("测试用例失败:{}".format(e))
                # 把实际结果写入excel数据,通过case_id获取行号
                self.excel_handler.write(config.data_path,
                                         "register",
                                         test_data["case_id"] + 1,
                                         9,
                                         "测试失败")
                raise e  # 程序运行错误,抛出异常,就意味着这条用例执行失败

    二 有关于python里raise显示引发异常的方法:

    • 当程序出错时,python会自动触发异常,也可以通过raise显示引发异常
    • 一旦执行了raise语句,raise之后的语句不在执行
    • 如果加入了try,except,那么except里的语句会被执行
    • 代码如下:
    • 复制代码
      try:
          s = None
          if s is None:
              print('s是空对象')
              raise NameError
          print(len(s))
      
      except Exception:
          print('空对象没有长度')
  • 相关阅读:
    javaweb之验证码验证技术
    HttpServletRequest常用方法
    设置浏览器不缓冲
    通过Referer设置来防盗链
    struts2启动时,出现的com.opensymphony.xwork2.util.finder.ClassFinder
    struts2实现jQuery的异步交互
    观察者模式和订阅发布模式的区别
    "ProgrammerHome"项目笔记
    《梦断代码》读书笔记
    关于python的“重载”
  • 原文地址:https://www.cnblogs.com/wz123/p/12366784.html
Copyright © 2020-2023  润新知