Pybites Logo

Write a retry decorator

Level: Advanced (score: 4)

Write a retry decorator that retries executing the function it decorates. If the function raises an exception (any kind) it tries again, until it reaches MAX_RETRIES (set to 3) at which point it throws a MaxRetriesException exception (already defined).

In the tests we define get_two_numbers to test this. It gets a list of numbers which may contain bad data (non ints or floats). It tries to pick 2 random numbers from this list but if both those numbers are not ints, it raises a ValueError in which case the retry decorator would run the function again.

Check out the template's docstring as well as the tests for more details. Good luck and keep calm and code in Python!