code: def testMatmulError(self, a, b, exc, message=None, **kwargs):
      if callable(a):
          a = a()
      if callable(b):
          b = b()
      with self.assertRaisesRegex(exc, message):
          self.evaluate(ragged_math_ops.matmul(a, b, **kwargs))
  
imports: from absl.testing import parameterized
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.ragged import ragged_concat_ops
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_math_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 4 for calling the RaggedMatmulOpTest obj's underlying member method code with example usage: obj.testMatmulError(a, b, exc, message) without return types