python 方法调用另一个方法报错,捕获的异常只有message,优化为trackback捕获详细的报错信息

A方法加了try...expect...

B方法也加了try....expect...

B方法调用了A方法,A方法查找元素,找不到报超时异常,实际B捕获到的异常,只有message\n,没有办法看出是因为超时引起的异常

详细报错如下:

B方法捕获到的异常,只有Message

A方法为查找元素,查不到抛出异常

更新A方法,将挂起的e改成具体的Traceback,并将其挂起

           try:
                WebDriverWait(self.driver, timeout=8, poll_frequency=0.3).until(EC.visibility_of_element_located(loc))
                self.click_element(loc=loc, times=3, model="点击元素:{0}".format(loc))
                break
            except Exception as e:
                i = i+1
                mylog.logger.info(f"第{i}页找不到元素,点击下一页进行查找")
                self.click_element(loc=next_page_loc, times=5, model="下一页切换")
                if i == 5:
                    # 循环判断翻页,获取下标i,翻页完成,还找不到元素,即元素不存在
                    mylog.logger.exception(f"异常: 翻页查找元素失败: {loc}, 请检查: {e}")
                    err_log = traceback.format_exc()
                    raise Exception(err_log)

重新执行,B方法捕获的是trackback.format_exc()具体的异常信息,效果最终将错误记录到表,写入到表

 

posted on 2023-02-23 11:44  刚刚好1  阅读(75)  评论(0编辑  收藏  举报

导航