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

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

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

예외 처리

SDK를 사용하여 고품질 애플리케이션을 구축하려면 AWS SDK for Java 예외가 발생하는 방법과 시기를 이해하는 것이 중요합니다. 다음 단원에서는 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 A는 a보다 더 심각하며AmazonServiceException, 클라이언트가 AWS 서비스에 서비스를 호출하지 못하게 하는 중대한 문제를 나타냅니다. 예를 들어, 클라이언트 중 하나에서 작업을 호출하려고 하면 네트워크 연결을 사용할 수 없는 AmazonClientException 경우 가 AWS SDK for Java 발생합니다.