class_docstr: Base Rate Limiter class for both sync and async versions.
code: def _handle_exc(self, args, kwargs):
      if self.swallow_exceptions:
          logger.warning(
              type(self).__name__
              + " swallowed an error after %r retries. "
              "Called with (*%r, **%r).",
              self.max_retries,
              args,
              kwargs,
              exc_info=True,
          )
          return self.return_value_on_exception
      else:
          raise
  
imports: import asyncio
  import inspect
  import threading
  from itertools import chain, count
  from time import sleep
  from timeit import default_timer
  from geopy.exc import GeocoderServiceError
  from geopy.util import logger
label_desc: Use image node_id 5 for calling the BaseRateLimiter obj's underlying member method code with example usage: obj._handle_exc(args, kwargs) and returns: self