code: def catch_exceptions(func):
      
  
      @wraps(func)
      def wrapper(request, *args, **kwargs):
          try:
              res = func(request, *args, **kwargs)
          except Exception as e:
              logger.exception(e)
              request.setResponseCode(500)
              request.setHeader('Content-Type', 'application/json')
              return json.dumps({"error": str(e)})
          return res
  
      return wrapper
docs: @catch_exceptions decorator handles generic exceptions in the request handler.
      All uncaught exceptions will be packaged into a nice JSON response, and returned
      to the caller with status code 500.
  
      This is especially useful for development, for production you might want to
      disable the messages.