code: def test_return_exceptions_postmortem(self):
      self.minimum_engines(3)
      dv = self.client[:]
      bad_id = dv.targets[1]
      dv.scatter("rank", dv.targets, flatten=True)
  
      def fail_on_bad_id(rank, bad_id):
          if rank == bad_id:
              raise ValueError(f"{rank} is bad!")
          return rank
  
      ar = dv.apply_async(fail_on_bad_id, ipp.Reference("rank"), bad_id)
      with raises_remote(ValueError):
          ar.get()
  
      result = ar.get(return_exceptions=True)
      assert result[:1] == dv.targets[:1]
      assert result[2:] == dv.targets[2:]
      assert isinstance(result[1], ipp.RemoteError)
  
imports: import os
  import time
  from datetime import datetime
  import pytest
  from IPython.utils.io import capture_output
  import ipyparallel
  from ipyparallel import error
  from .clienttest import ClusterTestCase, raises_remote
label_desc: Use image node_id 33 for calling the TestAsyncResult obj's underlying member method code with example usage: obj.test_return_exceptions_postmortem() and returns: rank