class_docstr: Generator returned by run_command if the protocol class
  is a subclass of `datalad.runner.protocol.GeneratorMixIn`
class_docstr_tok: ["Generator","returned","by","run_command","if","the","protocol","class","is","a","subclass","of","`","datalad.runner.protocol.GeneratorMixIn","`"]
code: def throw(self, exception_type, value=None, trace_back=None):
      return Generator.throw(self, exception_type, value, trace_back)
  
imports: from __future__ import annotations
  import enum
  import logging
  import subprocess
  import threading
  import time
  from collections import deque
  from collections.abc import Generator
  from queue import Empty, Queue
  from subprocess import Popen
  from typing import IO, Any, Optional
  from datalad.utils import on_windows
  from .exception import CommandError
  from .protocol import GeneratorMixIn, WitlessProtocol
  from .runnerthreads import IOState, ReadThread, WaitThread, WriteThread, _try_close
label_desc: Use image node_id 5 for calling the _ResultGenerator obj's underlying member method code with example usage: obj.throw(exception_type, value, trace_back) and returns: Generator