class_docstr: The handler for the system Resolver node.
class_docstr_tok: ["The","handler","for","the","system","Resolver","node","."]
code: def _build_error_output(
      self, code: int, msg: Optional[str] = None
  ) -> execution_result_pb2.ExecutorOutput:
      if msg is None:
          msg = str(sys.exc_info())
      return execution_result_pb2.ExecutorOutput(
          execution_result=execution_result_pb2.ExecutionResult(
              code=code, result_message=msg
          )
      )
  
file_path: tfx/tfx/orchestration/portable/resolver_node_handler.py
imports: import sys
  from typing import Any, Dict, Optional
  from absl import logging
  import grpc
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration.portable import data_types
  from tfx.orchestration.portable import execution_publish_utils
  from tfx.orchestration.portable import inputs_utils
  from tfx.orchestration.portable import system_node_handler
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.orchestration.portable.mlmd import context_lib
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import pipeline_pb2
label_desc: Use image node_id 3 for calling the ResolverNodeHandler obj's underlying member method code with example usage: obj._build_error_output(code, msg) and returns: execution_result_pb2