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('空对象没有长度')

猜你喜欢

转载自www.cnblogs.com/wz123/p/12366784.html