You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中捕获AssertionError后如何打印具体错误原因?

解决AssertionError仅显示"FAILED"的问题

问题原因

默认情况下,assert语句触发异常时只会返回简单的断言失败提示(比如"FAILED"),不会自动包含断言表达式里的具体数据。你当前的代码没有给assert指定自定义错误信息,所以捕获到的异常对象e内容非常有限。

解决方法

给每个assert语句添加自定义错误信息,把需要排查的关键数据(比如row.status、row.error_message的实际值)嵌入进去,这样捕获异常时就能拿到具体的错误详情。

修改后的代码示例:

try: 
    row = self.find_row_by_text('Something')
    assert row.status == 'OK', f"状态验证失败,当前状态: {row.status}"
    assert row.error_message == '', f"错误消息非空,当前消息: {row.error_message}"
except AssertionError as e:
    LOGGER.info(f'\n Error is: {str(e)}')

说明

  • 每个assert的第三个参数(字符串)是自定义错误提示,用f-string可以方便地插入变量的实际值
  • 当断言失败时,日志里会直接显示具体的状态值或错误消息,帮你快速定位问题

内容的提问来源于stack exchange,提问作者Tal Angel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:57:28