docstr: Test exception handler in worker. Pool should be terminated 
docstr_tok: ["Test","exception","handler","in","worker",".","Pool","should","be","terminated"]
code: def _test_exception_in_worker_impl(self, pool, num_to_ventilate):
      """Test exception handler in worker. Pool should be terminated"""
      # exception should be propagated to calling thread
      pool.start(ExceptionGeneratingWorker_5)
      for i in range(num_to_ventilate):
          pool.ventilate("Datanum_%d" % i)
      with self.assertRaises(ValueError):
          pool.get_results()
  
imports: import time
  import unittest
  import numpy
  from multiprocessing import Process, Manager
  from psutil import pid_exists
  from petastorm.workers_pool import EmptyResultError
  from petastorm.workers_pool.dummy_pool import DummyPool
  from petastorm.workers_pool.process_pool import ProcessPool
  from petastorm.workers_pool.tests.stub_workers import CoeffMultiplierWorker, WorkerIdGeneratingWorker, WorkerMultiIdGeneratingWorker, SleepyWorkerIdGeneratingWorker, ExceptionGeneratingWorker_5, PreprogrammedReturnValueWorker
  from petastorm.workers_pool.thread_pool import ThreadPool
label_desc: Use image node_id 16 for calling the TestWorkersPool obj's underlying member method code with example usage: obj._test_exception_in_worker_impl(pool, num_to_ventilate) without return types