Gestione delle eccezioni - AWS SDK for Java 1.x

Abbiamo annunciato l'imminente versione end-of-support di AWS SDK for Java (v1). Ti consigliamo di migrare alla AWS SDK for Java v2. Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio collegato.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione delle eccezioni

Comprendere come e quando vengono AWS SDK for Java generate le eccezioni è importante per creare applicazioni di alta qualità utilizzando l'SDK. Nelle seguenti sezioni vengono descritti i diversi casi di eccezioni che vengono generate dall'SDK e come gestirle in modo appropriato.

Perché eccezioni non controllate?

AWS SDK for Java Utilizza eccezioni di runtime (o non controllate) anziché eccezioni verificate per i seguenti motivi:

  • Per consentire agli sviluppatori di controllare ogni dettaglio degli errori che desiderano gestire senza costringerli a gestire casi eccezionali che non destino preoccupazione (rendendo il codice eccessivamente dettagliato)

  • Per prevenire problemi di scalabilità intrinseca con eccezioni controllate in applicazioni di grandi dimensioni

In generale, le eccezioni controllate funzionano bene su scale ridotte, ma possono diventare problematiche all'aumentare delle dimensioni e della complessità delle applicazioni.

Per ulteriori informazioni sull'uso delle eccezioni selezionate e deselezionate, consulta:

AmazonServiceException (e sottoclassi)

AmazonServiceExceptionè l'eccezione più comune che si verificherà quando si utilizza. AWS SDK for Java Questa eccezione rappresenta una risposta di errore da parte di un Servizio AWS. Ad esempio, se si tenta di terminare un' Amazon EC2 istanza che non esiste, EC2 restituirà una risposta di errore e tutti i dettagli di tale risposta di errore verranno inclusi nella AmazonServiceException risposta generata. Per alcuni casi, viene generata una sottoclasse di AmazonServiceException per consentire agli sviluppatori di controllare tutti i dettagli di gestione dei casi di errore tramite blocchi catch.

Quando incontri unAmazonServiceException, sai che la tua richiesta è stata inviata correttamente a Servizio AWS ma non può essere elaborata correttamente. Questo può essere dovuto a errori nei parametri della richiesta o a errori sul lato servizio.

AmazonServiceException fornisce informazioni quali:

  • Codice di stato HTTP restituito

  • Codice AWS di errore restituito

  • Messaggio di errore dettagliato dal servizio

  • AWS ID della richiesta non riuscita

AmazonServiceExceptioninclude anche informazioni sul fatto che la richiesta non riuscita sia stata colpa del chiamante (una richiesta con valori non validi) o colpa Servizio AWS del chiamante (un errore interno del servizio).

AmazonClientException

AmazonClientExceptionindica che si è verificato un problema all'interno del codice client Java, durante il tentativo di inviare una richiesta a AWS o durante il tentativo di analizzare una risposta da. AWS Un AmazonClientException è generalmente più grave di un AmazonServiceException e indica un problema importante che impedisce al client di effettuare chiamate di servizio ai AWS servizi. Ad esempio, AWS SDK for Java genera una connessione di rete AmazonClientException se non è disponibile alcuna connessione di rete quando si tenta di richiamare un'operazione su uno dei client.