Tratamento de exceções - AWS SDK para Java 1.x

O AWS SDK para Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-supportem 31 de dezembro de 2025. Recomendamos que você migre para o AWS SDK for Java 2.xpara continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tratamento de exceções

Entender como e quando AWS SDK para Java as exceções são lançadas é importante para criar aplicativos de alta qualidade usando o SDK. As seções a seguir descrevem os casos diferentes de exceções lançadas pelo SDK e como processá-las da maneira apropriada.

Por que exceções desmarcadas?

AWS SDK para Java Ele usa exceções de tempo de execução (ou não verificadas) em vez de exceções verificadas pelos seguintes motivos:

  • Como permitir que desenvolvedores controlem os erros que desejam processar sem forçá-los a processar casos excepcionais com os quais não estão preocupados (e tornar o código excessivamente detalhado)

  • Para evitar problemas de escalabilidade inerentes a exceções marcadas em aplicativos grandes

Em geral, as exceções marcadas funcionam bem em escalas pequenas, mas podem se tornar problemáticas à medida que os aplicativos crescem e se tornam mais complexos.

Para obter mais informações sobre o uso de exceções marcadas e desmarcadas, consulte:

AmazonServiceException (e subclasses)

AmazonServiceExceptioné a exceção mais comum que você enfrentará ao usar AWS SDK para Java o. Essa exceção representa uma resposta de erro de um AWS service (Serviço da AWS). Por exemplo, se você tentar encerrar uma Amazon EC2 instância que não existe, EC2 retornará uma resposta de erro e todos os detalhes dessa resposta de erro serão incluídos na AmazonServiceException resposta lançada. Para alguns casos, uma subclasse de AmazonServiceException é lançada para permitir que os desenvolvedores controlem casos de erro por meio de blocos catch.

Ao encontrar umAmazonServiceException, você sabe que sua solicitação foi enviada com sucesso para o AWS service (Serviço da AWS) , mas não pôde ser processada com sucesso. Isso pode ocorrer devido a erros nos parâmetros da solicitação ou problemas no lado do serviço.

AmazonServiceException fornece informações como:

  • Código de status HTTP retornado

  • Código de AWS erro retornado

  • Mensagem de erro detalhada do serviço

  • AWS ID de solicitação para a solicitação que falhou

AmazonServiceExceptiontambém inclui informações sobre se a solicitação com falha foi culpa do chamador (uma solicitação com valores ilegais) ou culpa dele (um erro interno AWS service (Serviço da AWS) do serviço).

AmazonClientException

AmazonClientExceptionindica que ocorreu um problema dentro do código do cliente Java, ao tentar enviar uma solicitação para AWS ou ao tentar analisar uma resposta de AWS. Um geralmente AmazonClientException é mais grave do que um AmazonServiceException e indica um grande problema que está impedindo o cliente de fazer chamadas de serviço para AWS os serviços. Por exemplo, AWS SDK para Java ele lança uma, AmazonClientException se nenhuma conexão de rede estiver disponível, quando você tenta chamar uma operação em um dos clientes.