code: def _set_uncaught_exception_handler(self):
      def exception_handler(exc_type, exc_val, exc_tb):
          self._experiment.stop(
              "\n".join(traceback.format_tb(exc_tb))
              + "\n"
              + repr(exc_val)
          )
  
          sys.__excepthook__(exc_type, exc_val, exc_tb)
  
      self._uncaught_exception_handler = exception_handler
  
      self._previous_uncaught_exception_handler = sys.excepthook
      sys.excepthook = exception_handler
  
imports: import logging
  import os
  import sys
  import time
  import traceback
  from logging import StreamHandler
  from neptune.common.hardware.gauges.gauge_mode import GaugeMode
  from neptune.common.hardware.metrics.service.metric_service_factory import MetricServiceFactory
  from neptune.common.utils import in_docker, is_ipython, is_notebook
  from neptune.legacy.internal.abort import CustomAbortImpl, DefaultAbortImpl
  from neptune.legacy.internal.channels.channels import ChannelNamespace
  from neptune.legacy.internal.streams.channel_writer import ChannelWriter
  from neptune.legacy.internal.streams.stdstream_uploader import StdErrWithUpload, StdOutWithUpload
  from neptune.legacy.internal.threads.aborting_thread import AbortingThread
  from neptune.legacy.internal.threads.hardware_metric_reporting_thread import HardwareMetricReportingThread
  from neptune.legacy.internal.threads.ping_thread import PingThread
label_desc: Use image node_id 4 for calling the ExecutionContext obj's underlying member method code with example usage: obj._set_uncaught_exception_handler() without return types