Wie kann ich Ausnahmebehandlungscode für mehrere Funktionen in Python wiederverwenden?

Wie kann ich Ausnahmebehandlungscode für mehrere Funktionen in Python wiederverwenden?

Ich arbeite an einem Projekt, das die Stripe Python-Bibliothek verwendet.https: //stripe.com/docs/api/python#error

Dies ist ein Beispielcode aus ihren Dokumenten.

try:
  # Use Stripe's bindings...
  pass
except stripe.error.CardError, e:
  # Since it's a decline, stripe.error.CardError will be caught
  body = e.json_body
  err  = body['error']

  print "Status is: %s" % e.http_status
  print "Type is: %s" % err['type']
  print "Code is: %s" % err['code']
  # param is '' in this case
  print "Param is: %s" % err['param']
  print "Message is: %s" % err['message']
except stripe.error.InvalidRequestError, e:
  # Invalid parameters were supplied to Stripe's API
  pass
except stripe.error.AuthenticationError, e:
  # Authentication with Stripe's API failed
  # (maybe you changed API keys recently)
  pass
except stripe.error.APIConnectionError, e:
  # Network communication with Stripe failed
  pass
except stripe.error.StripeError, e:
  # Display a very generic error to the user, and maybe send
  # yourself an email
  pass
except Exception, e:
  # Something else happened, completely unrelated to Stripe
  pass

Ich muss mehrere Funktionen, die verschiedene Aufrufe ausführen, in das Stripe-System schreiben, um meine Transaktionen zu verarbeiten. Beispielsweise; Abrufen eines Tokens, Erstellen eines Kunden, Aufladen einer Karte usw. Muss ich den try / except-Code in jeder Funktion wiederholen, oder gibt es eine Möglichkeit, den Inhalt des try-Blocks zu dynamisieren?

Ich möchte diese verschiedenen Funktionen in meinem Flask-Ansichtscode als Bedingung verwenden. Wenn ich von jeder Funktion eine Fehler- / Erfolgsmeldung zurückerhalten könnte, wäre dies ebenfalls hilfreich.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage