diff --git a/pandas/core/indexes/multi.py b/pandas/core/indexes/multi.py index 2e3f440573a0f..fe91a588c7dde 100644 --- a/pandas/core/indexes/multi.py +++ b/pandas/core/indexes/multi.py @@ -2164,6 +2164,7 @@ def drop(self, codes, level=None, errors="raise"): codes : array-like Must be a list of tuples level : int or level name, default None + errors : str, default 'raise' Returns ------- @@ -2172,18 +2173,11 @@ def drop(self, codes, level=None, errors="raise"): if level is not None: return self._drop_from_level(codes, level) - try: - if not isinstance(codes, (np.ndarray, Index)): + if not isinstance(codes, (np.ndarray, Index)): + try: codes = com.index_labels_to_array(codes) - indexer = self.get_indexer(codes) - mask = indexer == -1 - if mask.any(): - if errors != "ignore": - raise ValueError( - "codes {codes} not contained in axis".format(codes=codes[mask]) - ) - except Exception: - pass + except ValueError: + pass inds = [] for level_codes in codes: