code: def test_iloc_raises(self):
      pdf = pd.DataFrame({"A": [1, 2], "B": [3, 4], "C": [5, 6]})
      psdf = ps.from_pandas(pdf)
  
      with self.assertRaisesRegex(
          SparkPandasIndexingError, "Only accepts pairs of candidates"
      ):
          psdf.iloc[[0, 1], [0, 1], [1, 2]]
  
      with self.assertRaisesRegex(
          SparkPandasIndexingError, "Too many indexers"
      ):
          psdf.A.iloc[[0, 1], [0, 1]]
  
      with self.assertRaisesRegex(
          TypeError, "cannot do slice indexing with these indexers"
      ):
          psdf.iloc[:"b", :]
  
      with self.assertRaisesRegex(
          TypeError, "cannot do slice indexing with these indexers"
      ):
          psdf.iloc[:, :"b"]
  
      with self.assertRaisesRegex(
          TypeError, "cannot perform reduce with flexible type"
      ):
          psdf.iloc[:, ["A"]]
  
      with self.assertRaisesRegex(
          ValueError, "Location based indexing can only have"
      ):
          psdf.iloc[:, "A"]
  
      with self.assertRaisesRegex(IndexError, "out of range"):
          psdf.iloc[:, [5, 6]]
  
imports: import unittest
  import numpy
  import pandas
  from pyspark import pandas
  from pyspark.pandas.exceptions import SparkPandasIndexingError, SparkPandasNotImplementedError
  from pyspark.testing.pandasutils import PandasOnSparkTestCase
  from pyspark.testing.sqlutils import SQLTestUtils
label_desc: Use image node_id 12 for calling the IndexingILocMixin obj's underlying member method code with example usage: obj.test_iloc_raises() without return types