def rescue_default(callback, default=""):
  """Call callback.  If there's an exception, return default.

  It's convenient to use lambda to wrap the expression in order to
  create a callback.  Only catch IndexError, AttributeError, and ValueError.

  """
  try:
    return callback()
  except (IndexError, AttributeError, ValueError):
    return default