package com.box.sdk;

public class BoxAPIException extends RuntimeException {
    private static final long serialVersionUID = 1L;

    private final int responseCode;
    private final String response;

    public BoxAPIException(String message) {
        super(message);

        this.responseCode = 0;
        this.response = null;
    }

    public BoxAPIException(String message, int responseCode, String response) {
        super(message);

        this.responseCode = responseCode;
        this.response = response;
    }

    public BoxAPIException(String message, Throwable cause) {
        super(message, cause);

        this.responseCode = 0;
        this.response = null;
    }

    public BoxAPIException(String message, int responseCode, String response, Throwable cause) {
        super(message, cause);

        this.responseCode = responseCode;
        this.response = response;
    }

    public int getResponseCode() {
        return this.responseCode;
    }

    public String getResponse() {
        return this.response;
    }
}

@@ -15,16 +15,107 @@
 x.sdk;%0A%0A
+/**%0A * Thrown to indicate that an error occurred while communicating with the Box API.%0A */%0A
 public c
@@ -296,779 +296,2203 @@
     
-public BoxAPIException(String message) %7B%0A        super(message);%0A%0A        this.responseCode = 0;%0A        this.response = null;%0A    %7D%0A%0A    public BoxAPIException(String message, int responseCode, String response) %7B%0A        super(message);%0A%0A        this.responseCode = responseCode;%0A        this.response = response;%0A    %7D%0A%0A    public BoxAPIException(String message, Throwable cause) %7B%0A        super(message, cause);%0A%0A        this.responseCode = 0;%0A        this.response = null;%0A    %7D%0A%0A    public BoxAPIException(String message, int responseCode, String response, Throwable cause) %7B%0A        super(message, cause);%0A%0A        this.responseCode = responseCode;%0A        this.response = response;%0A    %7D%0A%0A    public int getResponseCode() %7B%0A        return this.responseCode;%0A    %7D%0A
+/**%0A     * Constructs a BoxAPIException with a specified message.%0A     * @param  message a message explaining why the exception occurred.%0A     */%0A    public BoxAPIException(String message) %7B%0A        super(message);%0A%0A        this.responseCode = 0;%0A        this.response = null;%0A    %7D%0A%0A    /**%0A     * Constructs a BoxAPIException with details about the server's response.%0A     * @param  message      a message explaining why the exception occurred.%0A     * @param  responseCode the response code returned by the Box server.%0A     * @param  response     the response body returned by the Box server.%0A     */%0A    public BoxAPIException(String message, int responseCode, String response) %7B%0A        super(message);%0A%0A        this.responseCode = responseCode;%0A        this.response = response;%0A    %7D%0A%0A    /**%0A     * Constructs a BoxAPIException that wraps another underlying exception.%0A     * @param  message a message explaining why the exception occurred.%0A     * @param  cause   an underlying exception.%0A     */%0A    public BoxAPIException(String message, Throwable cause) %7B%0A        super(message, cause);%0A%0A        this.responseCode = 0;%0A        this.response = null;%0A    %7D%0A%0A    /**%0A     * Constructs a BoxAPIException that wraps another underlying exception with details about the server's response.%0A     * @param  message      a message explaining why the exception occurred.%0A     * @param  responseCode the response code returned by the Box server.%0A     * @param  response     the response body returned by the Box server.%0A     * @param  cause        an underlying exception.%0A     */%0A    public BoxAPIException(String message, int responseCode, String response, Throwable cause) %7B%0A        super(message, cause);%0A%0A        this.responseCode = responseCode;%0A        this.response = response;%0A    %7D%0A%0A    /**%0A     * Gets the response code returned by the server when this exception was thrown.%0A     * @return the response code returned by the server.%0A     */%0A    public int getResponseCode() %7B%0A        return this.responseCode;%0A    %7D%0A%0A    /**%0A     * Gets the body of the response returned by the server when this exception was thrown.%0A     * @return the body of the response returned by the server.%0A     */
 %0A   

Add javadocs to BoxAPIException