code: def test_raise_on_meta_error():
      try:
          with raise_on_meta_error():
              raise RuntimeError("Bad stuff")
      except Exception as e:
          assert e.args[0].startswith("Metadata inference failed.\n")
          assert "RuntimeError" in e.args[0]
      else:
          assert False, "should have errored"
  
      try:
          with raise_on_meta_error("myfunc"):
              raise RuntimeError("Bad stuff")
      except Exception as e:
          assert e.args[0].startswith(
              "Metadata inference failed in `myfunc`.\n"
          )
          assert "RuntimeError" in e.args[0]
      else:
          assert False, "should have errored"
  
imports: from __future__ import annotations
  import re
  import warnings
  from collections.abc import Iterable
  import numpy
  import pandas
  import pytest
  from packaging.version import Version
  import dask
  import dask.dataframe
  from dask.dataframe._compat import PANDAS_GE_200, tm
  from dask.dataframe.core import apply_and_enforce
  from dask.dataframe.utils import UNKNOWN_CATEGORIES, assert_eq, check_matching_columns, check_meta, is_dataframe_like, is_index_like, is_series_like, make_meta, meta_frame_constructor, meta_nonempty, meta_series_constructor, pyarrow_strings_enabled, raise_on_meta_error, shard_df_on_index, valid_divisions
  from dask.local import get_sync
label_desc: Use image node_id 9 for calling a global function with example usage: test_raise_on_meta_error() without return types