| /* | |
| * Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"). | |
| * You may not use this file except in compliance with the License. | |
| * A copy of the License is located at | |
| * | |
| * http://aws.amazon.com/apache2.0 | |
| * | |
| * or in the "license" file accompanying this file. This file is distributed | |
| * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either | |
| * express or implied. See the License for the specific language governing | |
| * permissions and limitations under the License. | |
| */ | |
| package com.amazonaws; | |
| /** | |
| * Extension of SdkClientException that represents an error response returned | |
| * by an Amazon web service. Receiving an exception of this type indicates that | |
| * the caller's request was correctly transmitted to the service, but for some | |
| * reason, the service was not able to process it, and returned an error | |
| * response instead. | |
| * <p> | |
| * AmazonServiceException provides callers several pieces of | |
| * information that can be used to obtain more information about the error and | |
| * why it occurred. In particular, the errorType field can be used to determine | |
| * if the caller's request was invalid, or the service encountered an error on | |
| * the server side while processing it. | |
| */ | |
| public class AmazonServiceException extends SdkClientException { | |
| private static final long serialVersionUID = 1L; | |
| /** | |
| * The unique AWS identifier for the service request the caller made. The | |
| * AWS request ID can uniquely identify the AWS request, and is used for | |
| * reporting an error to AWS support team. | |
| */ | |
| private String requestId; | |
| /** | |
| * The AWS error code represented by this exception (ex: | |
| * InvalidParameterValue). | |
| */ | |
| private String errorCode; | |
| /** | |
| * The error message as returned by the service. | |
| */ | |
| private String errorMessage; | |
| /** The HTTP status code that was returned with this error */ | |
| private int statusCode; | |
| /** | |
| * The name of the Amazon service that sent this error response. | |
| */ | |
| private String serviceName; | |
| /** | |
| * Constructs a new AmazonServiceException with the specified message. | |
| * | |
| * @param errorMessage | |
| * An error message describing what went wrong. | |
| */ | |
| public AmazonServiceException(String errorMessage) { | |
| super((String)null); | |
| this.errorMessage = errorMessage; | |
| } | |
| /** | |
| * Constructs a new AmazonServiceException with the specified message and | |
| * exception indicating the root cause. | |
| * | |
| * @param errorMessage | |
| * An error message describing what went wrong. | |
| * @param cause | |
| * The root exception that caused this exception to be thrown. | |
| */ | |
| public AmazonServiceException(String errorMessage, Exception cause) { | |
| super(null, cause); | |
| this.errorMessage = errorMessage; | |
| } | |
| /** | |
| * Returns the AWS request ID that uniquely identifies the service request | |
| * the caller made. | |
| * | |
| * @return The AWS request ID that uniquely identifies the service request | |
| * the caller made. | |
| */ | |
| public String getRequestId() { | |
| return requestId; | |
| } | |
| /** | |
| * Returns the name of the service that sent this error response. | |
| * | |
| * @return The name of the service that sent this error response. | |
| */ | |
| public String getServiceName() { | |
| return serviceName; | |
| } | |
| /** | |
| * Sets the AWS error code represented by this exception. | |
| * | |
| * @param errorCode | |
| * The AWS error code represented by this exception. | |
| */ | |
| public void setErrorCode(String errorCode) { | |
| this.errorCode = errorCode; | |
| } | |
| /** | |
| * Returns the AWS error code represented by this exception. | |
| * | |
| * @return The AWS error code represented by this exception. | |
| */ | |
| public String getErrorCode() { | |
| return errorCode; | |
| } | |
| /** | |
| * @return the human-readable error message provided by the service | |
| */ | |
| public String getErrorMessage() { | |
| return errorMessage; | |
| } | |
| /** | |
| * Sets the HTTP status code that was returned with this service exception. | |
| * | |
| * @param statusCode | |
| * The HTTP status code that was returned with this service | |
| * exception. | |
| */ | |
| public void setStatusCode(int statusCode) { | |
| this.statusCode = statusCode; | |
| } | |
| /** | |
| * Returns the HTTP status code that was returned with this service | |
| * exception. | |
| * | |
| * @return The HTTP status code that was returned with this service | |
| * exception. | |
| */ | |
| public int getStatusCode() { | |
| return statusCode; | |
| } | |
| @Override | |
| public String getMessage() { | |
| return getErrorMessage() | |
| + " (Service: " + getServiceName() | |
| + "; Status Code: " + getStatusCode() | |
| + "; Error Code: " + getErrorCode() | |
| + "; Request ID: " + getRequestId() + ")"; | |
| } | |
| } |