Gradio Agents & MCP 黑客马拉松

获奖者
Gradio logo
  1. 模态框
  2. 错误

Gradio 新手?从这里开始:入门

查看 发布历史

错误

raise gradio.Error("An error occurred 💥!", duration=5)

描述

此类允许您向用户传递自定义错误消息。您可以通过在代码中任何地方抛出 `gr.Error("自定义消息")` 来实现,当该行代码执行时,自定义消息将以模态框的形式出现在演示界面上。

您可以使用 `duration` 参数控制错误消息的显示时长。如果设置为 `None`,消息将永久显示,直到用户关闭。如果设置为数字,则将显示相应秒数。

您还可以通过设置 `visible=False` 来隐藏错误模态框,使其不在 UI 中显示。

下方演示了不同 `duration` 值如何控制错误、信息和警告消息的显示。您可以在此处查看代码。

modal_control

示例用法

import gradio as gr
def divide(numerator, denominator):
    if denominator == 0:
        raise gr.Error("Cannot divide by zero!")
gr.Interface(divide, ["number", "number"], "number").launch()

初始化

参数
🔗
message: str
默认值 = "Error raised."

向用户显示的错误消息。可以是 HTML,将在模态框中渲染。

🔗
duration: float | None
默认值 = 10

错误消息的显示时长(秒)。如果为 None 或 0,错误消息将一直显示,直到用户关闭。

🔗
visible: bool
默认值 = True

错误消息是否在 UI 中显示。

🔗
title: str
默认值 = "Error"

显示在错误模态框顶部的标题。

🔗
print_exception: bool
默认值 = True

错误发生时是否将错误追踪打印到控制台。

演示

import gradio as gr

def calculator(num1, operation, num2):
    if operation == "add":
        return num1 + num2
    elif operation == "subtract":
        return num1 - num2
    elif operation == "multiply":
        return num1 * num2
    elif operation == "divide":
        if num2 == 0:
            raise gr.Error("Cannot divide by zero!")
        return num1 / num2

demo = gr.Interface(
    calculator,
    [
        "number",
        gr.Radio(["add", "subtract", "multiply", "divide"]),
        "number"
    ],
    "number",
    examples=[
        [45, "add", 3],
        [3.14, "divide", 2],
        [144, "multiply", 2.5],
        [0, "subtract", 1.2],
    ],
    title="Toy Calculator",
    description="Here's a sample toy calculator.",
)

if __name__ == "__main__":
    demo.launch()