code: def test_exception_image_formatter(mnist_dataloader_train):
      # Arrange
      loader_bad_images = replace_collate_fn_dataloader(
          mnist_dataloader_train,
          lambda x: {"images": Exception("test exception")},
      )
      loader_bad_labels = replace_collate_fn_dataloader(
          mnist_dataloader_train,
          lambda x: {"labels": Exception("test exception")},
      )
      loader_bad_predictions = replace_collate_fn_dataloader(
          mnist_dataloader_train,
          lambda x: {"predictions": Exception("test exception")},
      )
  
      # Act & Assert
      assert_that(
          calling(VisionData).with_args(
              loader_bad_images, task_type=TaskType.CLASSIFICATION.value
          ),
          raises(
              Exception,
              "The batch images must be an iterable, received <class 'Exception'>.",
          ),
      )
      assert_that(
          calling(VisionData).with_args(
              loader_bad_predictions,
              task_type=TaskType.CLASSIFICATION.value,
          ),
          raises(
              Exception,
              "The batch predictions must be a non empty iterable.",
          ),
      )
      assert_that(
          calling(VisionData).with_args(
              loader_bad_labels, task_type=TaskType.CLASSIFICATION.value
          ),
          raises(
              Exception,
              "The batch labels must be a non empty iterable.",
          ),
      )
  
imports: import numpy
  import pytest
  import torch
  from hamcrest import assert_that, calling, equal_to, has_length, is_not, raises
  from torch.utils.data import DataLoader
  from deepchecks.core.errors import DatasetValidationError, ValidationError
  from deepchecks.vision.datasets.classification.mnist_torch import IterableTorchMnistDataset, collate_without_model
  from deepchecks.vision.datasets.detection import coco_torch
  from deepchecks.vision.datasets.segmentation import segmentation_coco
  from deepchecks.vision.utils.test_utils import replace_collate_fn_dataloader
  from deepchecks.vision.vision_data import TaskType, VisionData
  from deepchecks.vision.vision_data.utils import validate_vision_data_compatibility
  from tests.vision.conftest import run_update_loop
label_desc: Use image node_id 15 for calling a global function with example usage: test_exception_image_formatter(mnist_dataloader_train) without return types