Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Challenge: Retry Decorator | Decorator Practice Lab
Python Decorators Explained

bookChallenge: Retry Decorator

You have now seen how decorators can enhance functions with additional behavior, such as logging, timing, or formatting. Sometimes, you may want to make your functions more robust by automatically retrying them when they fail due to exceptions. This is especially useful when dealing with unreliable operations, like network requests or file I/O, where a temporary glitch might cause a function to fail even though retrying would succeed. In this challenge, you will implement a decorator that retries a function up to three times if it raises an exception, and only gives up if all attempts fail.

Tarea

Swipe to start coding

Write a decorator that retries a function up to three times if it raises an exception, then re-raises the exception if all attempts fail.
The decorator must:

  • Attempt to call the decorated function.
  • If the function raises an exception, catch it and retry up to two more times.
  • If the function still raises an exception after three total attempts, re-raise the last exception.
  • If the function succeeds on any attempt, return its result.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 5
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you show me how to implement the retry decorator?

What should the decorator do if the function keeps failing after three attempts?

Can you give an example of using this decorator with a function that might fail?

close

bookChallenge: Retry Decorator

Desliza para mostrar el menú

You have now seen how decorators can enhance functions with additional behavior, such as logging, timing, or formatting. Sometimes, you may want to make your functions more robust by automatically retrying them when they fail due to exceptions. This is especially useful when dealing with unreliable operations, like network requests or file I/O, where a temporary glitch might cause a function to fail even though retrying would succeed. In this challenge, you will implement a decorator that retries a function up to three times if it raises an exception, and only gives up if all attempts fail.

Tarea

Swipe to start coding

Write a decorator that retries a function up to three times if it raises an exception, then re-raises the exception if all attempts fail.
The decorator must:

  • Attempt to call the decorated function.
  • If the function raises an exception, catch it and retry up to two more times.
  • If the function still raises an exception after three total attempts, re-raise the last exception.
  • If the function succeeds on any attempt, return its result.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 5
single

single

some-alt