class_docstr: Exception indicating that an invalid argument set was passed to
  ``clean``.
  
  Parameters
  ----------
  before, after, keep_last : any
      The bad arguments to ``clean``.
  
  See Also
  --------
  clean
class_docstr_tok: ["Exception","indicating","that","an","invalid","argument","set","was","passed","to","``","clean","``",".","Parameters","--","--","--","--","--","before",",","after",",","keep_last",":","any","The","bad","arguments","to","``","clean","``",".","See","Also","--","--","--","--","clean"]
code: def __str__(self):
      return self.message
  
imports: from collections import namedtuple
  import errno
  import os
  import shutil
  import warnings
  import click
  from logbook import Logger
  import pandas
  from trading_calendars import get_calendar
  from toolz import curry, complement, take
  from ..adjustments import SQLiteAdjustmentReader, SQLiteAdjustmentWriter
  from ..bcolz_daily_bars import BcolzDailyBarReader, BcolzDailyBarWriter
  from ..minute_bars import BcolzMinuteBarReader, BcolzMinuteBarWriter
  from zipline.assets import AssetDBWriter, AssetFinder, ASSET_DB_VERSION
  from zipline.assets.asset_db_migrations import downgrade
  from zipline.utils.cache import dataframe_cache, working_dir, working_file
  from zipline.utils.compat import ExitStack, mappingproxy
  from zipline.utils.input_validation import ensure_timestamp, optionally
  import zipline.utils.paths
  from zipline.utils.preprocess import preprocess
label_desc: Use image node_id 2 for calling the BadClean obj's underlying member method code with example usage: obj.__str__() and returns: self