code: def resolve_or_error(
      resolve_fn, source, args, context, info, executor
  ):
      try:
          return executor.execute(
              resolve_fn, source, args, context, info
          )
      except Exception as e:
          logger.exception(
              "An error occurred while resolving field {}.{}".format(
                  info.parent_type.name, info.field_name
              )
          )
          e.stack = sys.exc_info()[2]
          return e
  
imports: import collections
  from collections.abc import Iterable
  import functools
  import logging
  import sys
  from wandb_promise import Promise, promise_for_dict, is_thenable
  from ..error import GraphQLError, GraphQLLocatedError
  from ..pyutils.default_ordered_dict import DefaultOrderedDict
  from ..pyutils.ordereddict import OrderedDict
  from ..type import GraphQLEnumType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, GraphQLSchema, GraphQLUnionType
  from .base import ExecutionContext, ExecutionResult, ResolveInfo, Undefined, collect_fields, default_resolve_fn, get_field_def, get_operation_root_type
  from .executors.sync import SyncExecutor
  from .experimental.executor import execute
  from .middleware import MiddlewareManager
label_desc: Use image node_id 6 for calling a global function with example usage: resolve_or_error(resolve_fn, source, args, context, info, executor) and returns: executor, e