Python Fallback Strategies — ELI5

You’re getting ready for a big presentation at school. Your plan is to use a projector to show your slides. But what if the projector breaks? Do you just stand there and say “sorry, can’t present”?

Of course not. You have backup plans:

  • Plan B: Show slides on your laptop screen and let people gather around
  • Plan C: Print out the slides beforehand, just in case
  • Plan D: You’ve practiced enough to present without any slides at all

That’s what fallback strategies are. When the first choice doesn’t work, you have a backup. And when that backup fails, you have another one.

Software does this too.

Your Python app needs to show a user their profile picture. Normally it grabs the picture from a fast image server. But what if that server is down?

  • Fallback 1: Check if there’s a cached copy saved from earlier
  • Fallback 2: Show a generic silhouette avatar
  • Fallback 3: Just show their initials in a colored circle

Each fallback is a little less perfect, but each one is better than showing an error message or a blank screen. The user gets something — maybe not the best experience, but a working one.

The key idea is simple: don’t let “perfect” be the enemy of “good enough.” If you can’t give the ideal answer, give the next-best answer. If that fails too, give something reasonable.

One thing to remember: Fallbacks are like backup plans — you hope you never need them, but you’re really glad they’re there when something goes wrong.

pythonreliabilitypatterns

See Also