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

AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31end-of-support일에 도달할 예정입니다. 새로운 기능, 가용성 개선 사항 및 보안 업데이트를 AWS SDK for Java 2.x 계속 받으려면 로 마이그레이션하는 것이 좋습니다.

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

예외 처리

가 예외를 AWS SDK for Java 발생시키는 방법과 시기를 이해하는 것은 를 사용하여 고품질 애플리케이션을 구축하는 데 중요합니다SDK. 다음 섹션에서는 에서 발생하는 다양한 예외 사례SDK와 이를 적절하게 처리하는 방법을 설명합니다.

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

는 다음과 같은 이유로 확인된 예외 대신 런타임(또는 선택되지 않은) 예외를 AWS SDK for Java 사용합니다.

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

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

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

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

AmazonServiceException (및 하위 클래스)

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

를 발견하면 요청이 로 성공적으로 전송되었지만 성공적으로 처리되지 AWS 서비스 않았음을 AmazonServiceException알 수 있습니다. 이는 요청의 파라미터 오류 또는 서비스 측의 문제로 인해 발생할 수 있습니다.

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

  • 반환된 HTTP 상태 코드

  • 반환된 AWS 오류 코드

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

  • AWS 실패한 요청에 대한 요청 ID

AmazonServiceException 에는 실패한 요청이 호출자의 오류(잘못된 값이 있는 요청)인지 또는 AWS 서비스의 오류(내부 서비스 오류)인지에 대한 정보도 포함되어 있습니다.

AmazonClientException

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