예외 처리 - AWS SDK for Java 1.x

다음 버전 AWS SDK for Java (v1) end-of-support 을 발표했습니다. AWS SDK for Java V2로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예외 처리

AWS SDK for Java에서 예외가 언제 어떻게 발생하는지를 이해하는 것은 SDK를 사용하여 고품질의 애플리케이션을 빌드하는 데 있어서 중요합니다. 다음 단원에서는 SDK에서 발생하는 다양한 예외의 경우와 이러한 예외를 적절히 처리하는 방법에 대해 설명합니다.

확인되지 않은 예외가 발생하는 이유

AWS SDK for Java에서는 다음과 같은 이유로 확인된 예외 대신에 실행시간 (또는 확인되지 않은) 예외를 사용합니다.

  • 개발자가 중요하지 않은 예외 경우를 강제로 처리하지 않고 (또한 해당 코드를 상세 표시 모드로 설정하지 않고) 처리하고자 하는 오류에 대해서만 세부적으로 제어할 수 있도록 하기 위해

  • 대규모 애플리케이션에서 확인된 예외 고유의 확장성 문제를 방지하기 위해

일반적으로 확인된 예외는 소규모 애플리케이션에서 잘 작동하는 편이지만, 애플리케이션이 확장되고 복잡해짐에 따라 문제가 될 수도 있습니다.

확인 및 확인되지 않은 예외의 사용에 대한 자세한 내용은 다음을 참조하십시오.

AmazonServiceException (및 서브클래스)

AmazonServiceException를 사용할 때 발생하는 가장 일반적인 예외입니다. AWS SDK for Java 이 예외는 AWS 서비스의 오류 응답을 나타냅니다. 예를 들어 존재하지 않는 Amazon EC2 인스턴스를 종료하려고 할 경우 EC2는 오류 응답을 반환하며 해당 오류 응답에 대한 모든 세부 정보가 발생된 AmazonServiceException에 포함됩니다. 경우에 따라서는 개발자가 catch 블록을 통해 오류 경우 처리를 세부적으로 제어할 수 있도록 하기 위해 AmazonServiceException의 하위 클래스가 발생하기도 합니다.

AmazonServiceException이 발생하면 요청이 AWS 서비스로 전송되었지만 처리되지 못했음을 의미합니다. 이는 요청의 파라미터 오류 또는 서비스 측의 문제로 인해 발생할 수 있습니다.

AmazonServiceException은 다음과 같은 정보를 제공합니다.

  • 반환된 HTTP 상태 코드

  • 반환된 AWS 오류 코드

  • 서비스의 상세 오류 메시지

  • 실패한 요청의 AWS 요청 ID

AmazonServiceException에는 실패한 요청이 호출자의 결함(잘못된 값이 사용된 요청)인지 AWS 서비스의 결함(내부 서비스 오류)인지 여부에 대한 정보도 포함됩니다.

AmazonClientException

AmazonClientException요청을 보내려고 시도하거나 응답을 구문 분석하려고 시도하는 동안 Java 클라이언트 코드 내에서 문제가 발생했음을 나타냅니다. AWS AWS AmazonClientException은 일반적으로 AmazonServiceException보다 더 심각하며, 클라이언트에서 AWS 서비스를 호출할 수 없게 하는 중요한 문제를 나타냅니다. 예를 들어 클라이언트 중 하나에서 작업을 호출하려 할 때 네트워크 연결을 사용할 수 없는 경우AWS SDK for Java는 AmazonClientException을 발생합니다.