code: def display_error_dialog(*args, **kwargs):
      """Display an error dialog, returning an indication of whether to continue
  
      frame - parent frame for application
      exc - exception that caused the error
      pipeline - currently executing pipeline
      message - message to display
      tb - traceback
      continue_only - show "continue" option, only
      remote_exc_info - None (the default) for exceptions in the current process.
          For remote processes:
              (exc_name, exc_message, traceback_text, filename, line_number, remote_debug_callback)
  
      Returns either ED_STOP or ED_CONTINUE indicating how to handle.
      """
      global __inside_display_error_dialog
      if __inside_display_error_dialog:
          return
      __inside_display_error_dialog = True
      try:
          return _display_error_dialog(*args, **kwargs)
      except Exception:
          # raising exceptions in our exception handler is bad.
          try:
              logging.root.error(
                  "Exception in display_error_dialog()!", exc_info=True
              )
          except Exception:
              sys.stderr.write(
                  "Exception logging exception in display_error_dialog().  Everything probably broken.\n"
              )
              pass
      finally:
          __inside_display_error_dialog = False
  
file_path: CellProfiler/src/frontend/cellprofiler/gui/errordialog.py
imports: import functools
  import io
  import logging
  import os
  import platform
  import sys
  import traceback
  import urllib
  import urllib.parse
  import urllib.request
  from urllib.error import HTTPError, URLError
  from urllib.request import urlopen
  from cellprofiler_core.preferences import get_headless
label_desc: Use image node_id 2 for calling a global function with example usage: display_error_dialog() and returns: _display_error_dialog