code: def predicate(self, *args, **kwargs):
          
          try:
              return self._predicate(*args, **kwargs)
          except Exception, x:
              self.config.logger.debug(
                  'Rule %s predicicate failed because of "%s"',
                  to_str(self.__class__),
                  x,
                  exc_info=True
              )
              return False
docs: the default predicate for Support Classifiers invokes any derivied
          _predicate function, trapping any exceptions raised in the process.  We
          are obligated to catch these exceptions to give subsequent rules the
          opportunity to act.  An error during the predicate application is a
          failure of the rule, not a failure of the classification system itself