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('空对象没有长度')
posted @ 2020-02-26 14:09  四叶草134  阅读(2916)  评论(0编辑  收藏  举报