title: Rethrow Exception from slack api Response payload, or handle it appropriately
body: <p>The Slack conversations.join api returns a Slack API Exception (part of Response Body - i.e ConversationsJoinResponse object returned from Slack Library response) when it is unable to join a slack channel for some reason , it is sent as a part of API Response object which is a ConversationsJoinResponse object .</p>
  <p>I have used this Api which returns the Slack Library Response object.</p>
  <p>Documentation - <a href="https://api.slack.com/methods/conversations.join" rel="nofollow noreferrer">https://api.slack.com/methods/conversations.join</a></p>
  <p>Api - <a href="https://slack.com/api/conversations.join" rel="nofollow noreferrer">https://slack.com/api/conversations.join</a></p>
  <p>IMHO it would be better to throw the exception I received from the Api itself.</p>
  <p>So I am trying to rethrow the same exception I get from the slack library and returns the error message in Response object returned by the library i.e ConversationsJoinResponse object.</p>
  <p>Would this be the right way to handle the exception where the SlackApiException class takes a Request Body and a message.</p>
  <pre><code>logger.error(&quot;Error Joining Channel - $channelId : ${response.error}&quot;)
  throw SlackApiException(
    Response.Builder().code(400).request(
      Request.Builder().url(&quot;https://slack.com/api/conversations.join&quot;).build())
      .message(response.error).build(),
    response.error
  )
  </code></pre>
  <p>Any help with figuring the appropriate way to handle the Api Response is appreciated.</p>