Introducing Gradio 5.0

Read More
  1. Modals
  2. Error

New to Gradio? Start here: Getting Started

See the Release History

Error

raise gradio.Error("An error occurred πŸ’₯!", duration=5)

Description

This class allows you to pass custom error messages to the user. You can do so by raising a gr.Error("custom message") anywhere in the code, and when that line is executed the custom message will appear in a modal on the demo.

You can control for how long the error message is displayed with the duration parameter. If it’s None, the message will be displayed forever until the user closes it. If it’s a number, it will be shown for that many seconds.

You can also hide the error modal from being shown in the UI by setting visible=False.

Below is a demo of how different values of duration control the error, info, and warning messages. You can see the code here.

modal_control

Example Usage

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()

Initialization

Parameters
message: str
default = "Error raised."

The error message to be displayed to the user. Can be HTML, which will be rendered in the modal.

duration: float | None
default = 10

The duration in seconds to display the error message. If None or 0, the error message will be displayed until the user closes it.

visible: bool
default = True

Whether the error message should be displayed in the UI.

title: str
default = "Error"

The title to be displayed to the user at the top of the error modal.

print_exception: bool
default = True

Whether to print traceback of the error to the console when the error is raised.

Demos

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()