docs: def handle_erroneous_response(self,
                                    response: requests.Response
                                    ) -> NoReturn:
          """
          Attempts to decode an erroneous response into an exception, and to
          subsequently throw that exception.
  
          Raises:
              BugZooException: the exception described by the error response.
              UnexpectedResponse: if the response cannot be decoded to an
                  exception.
          """
          logger.debug("handling erroneous response: %s", response)
          try:
              err = BugZooException.from_dict(response.json())
          except Exception:
              err = UnexpectedResponse(response)
          raise err