code: def test_execute_async_exception(backend):
      with backend(5) as executor:
          futures = [
              executor.submit(bad_function, 1, 2, i) for i in range(20)
          ]
          results = []
  
          # waiting should not raise exception
          while len(results) != 20:
              partial = executor.async_get(futures)
              results.extend(partial)
  
          # exception is raised when we try to fetch the result
          for result in results:
              with pytest.raises(BadException):
                  _ = result.value
  
imports: import os
  import time
  import pytest
  from orion.executor.base import AsyncException, ExecutorClosed, executor_factory
  from orion.executor.dask_backend import HAS_DASK, Dask
  from orion.executor.multiprocess_backend import PoolExecutor
  from orion.executor.ray_backend import HAS_RAY, Ray
  from orion.executor.single_backend import SingleExecutor
label_desc: Use image node_id 14 for calling a global function with example usage: test_execute_async_exception(backend) without return types