¿Cómo puedo reutilizar el código de manejo de excepciones para múltiples funciones en Python?
¿Cómo puedo reutilizar el código de manejo de excepciones para múltiples funciones en Python?
Estoy trabajando en un proyecto que usará la biblioteca Stripe Python.https://stripe.com/docs/api/python#errors
Este es un código de ejemplo de sus documentos.
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
Necesito escribir varias funciones que realicen varias llamadas en el sistema Stripe para procesar mis transacciones. Por ejemplo; recuperar un token, crear un cliente, cargar una tarjeta, etc. ¿Tengo que repetir el código try / except en cada función, o hay alguna forma de hacer que el contenido del bloque try sea dinámico?
Me gustaría utilizar estas diversas funciones en mi código de vista de Flask como condicionales, por lo que si pudiera obtener un mensaje de error / éxito de cada una de ellas, también sería útil.