code: def error_catch(f):
      
      @wraps(f)
      def wrapper(*args, **kw):
          instance = args[0]
          try:
              result = f(*args, **kw)
              if isinstance(result, tuple):
                  return jsonify(result[0]), result[1]
              else:
                  return jsonify(result), 200
          except Exception as e:
              ret_dict = instance._create_ret_object(instance.FAILURE, None,
                                                     True,
                                                     instance.UNKNOWN_ERROR)
              log_dict = deepcopy(ret_dict)
              log_dict['error']['cause'] = e.message
              log_dict['error']['exception'] = str(e)
              log_dict['error']['ex'] = traceback.format_exc()
              instance.logger.error("Uncaught Exception Thrown", log_dict)
              return jsonify(ret_dict), 500
      return wrapper
docs: Handle unexpected errors within the rest function.