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

Python中如何让抛出的错误信息打印对象类型?

问题解决:TypeError中无法显示对象类型的处理方法

你的代码逻辑本身没问题,但可能是Python 3.11中错误信息渲染的特殊情况,或是运行环境(如Jupyter Notebook)的显示异常。可以通过以下几种方式解决:

  • 显式转换类型为字符串:
    用str()或repr()包裹type(x),确保类型信息被正确格式化到错误字符串中:

    x = 5
    raise TypeError(f"Input was type: {str(type(x))}")
    

    或使用repr()获取更明确的类型表示:

    x = 5
    raise TypeError(f"Input was type: {repr(type(x))}")
    
  • 先构造错误信息再抛出:
    提前将错误信息赋值给变量,避免在异常构造函数中直接格式化可能出现的问题:

    x = 5
    error_msg = f"Input was type: {type(x)}"
    raise TypeError(error_msg)
    
  • 直接字符串拼接:
    绕过f-string的潜在问题,用基础的字符串拼接方式:

    x = 5
    raise TypeError("Input was type: " + str(type(x)))
    

这些方法都能确保对象的类型信息被正确包含在抛出的TypeError错误信息中。

内容的提问来源于stack exchange,提问作者Louis Desdoigts

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:18:12