code: def _run(namespace):
      """Execute a CLI operation
  
      Depending on CLI debugging options the CLI operation is executed
      in a debug harness or an exception handler.
  
      Parameters
      ----------
      namespace: Namespace
        Object returned by `ArgumentParser.parse_args()` with fully
        populated and validated CLI command and arguments.
  
      Raises
      ------
      SystemExit
        When the CLI completed without error (exit 0).
      """
      # execute the command, either with a debugger catching
      # a crash, or with a simplistic exception handler.
      # note that result rendering is happening in the
      # execution handler, when the command-generator is unwound
      ret = (
          _run_with_debugger(namespace)
          if namespace.common_debug or namespace.common_idebug
          else _run_with_exception_handler(namespace)
      )
  
      # all good, not strictly needed, but makes internal testing easier
      sys.exit(0)
  
file_path: datalad/datalad/cli/main.py
imports: import logging
  import os
  import sys
  import datalad
  from .parser import setup_parser
label_desc: Use image node_id 3 for calling a global function with example usage: _run(namespace) without return types