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

如何在Taipy中抛出异常时获取完整traceback信息?

如何在Taipy框架中获取异常的完整Traceback信息

当使用Taipy框架时,若框架抛出异常仅显示基础信息而无完整traceback,会大幅降低调试效率。以下针对你的场景提供两种可行方案:

场景复现

你的测试代码:

from taipy.gui import Gui, notify

def raise_error(state):
    temp = 10/0

md = """
<|Raise error|button|on_action=raise_error|>
"""

Gui(md).run()

默认运行后控制台仅输出简化信息:

TaipyGuiWarning: on_action(): Exception raised in 'raise_error()':
division by zero
TaipyGuiWarning: on_action(): 'raise_error' is not a valid function.

解决方案1:开启全局Debug模式

Taipy的Gui.run()方法支持debug参数,设置为True后会输出完整的Python traceback信息,包含错误发生的具体行号、调用栈等关键调试细节。

修改后的代码:

from taipy.gui import Gui, notify

def raise_error(state):
    temp = 10/0

md = """
<|Raise error|button|on_action=raise_error|>
"""

Gui(md).run(debug=True)

运行后控制台会输出类似如下的完整traceback:

Traceback (most recent call last):
  File "/path/to/your/code.py", line 4, in raise_error
    temp = 10/0
ZeroDivisionError: division by zero

解决方案2:自定义异常捕获(针对特定函数)

若不想开启全局Debug模式,可结合Python内置的traceback模块,在特定函数中捕获异常并打印完整traceback:

import traceback
from taipy.gui import Gui, notify

def raise_error(state):
    try:
        temp = 10/0
    except Exception as e:
        # 打印完整traceback到控制台
        traceback.print_exc()
        # 可选:重新抛出异常让Taipy继续处理
        raise e

md = """
<|Raise error|button|on_action=raise_error|>
"""

Gui(md).run()

这种方式能在保持全局日志简洁的同时,针对需要调试的函数输出详细错误信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:01:14