La AWS SDK for Java version 1.x est entrée en mode maintenance le 31 juillet 2024 et atteindra end-of-support
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des exceptions
Il est important de comprendre comment et quand les AWS SDK for Java exceptions déclenchent des exceptions pour créer des applications de haute qualité à l'aide duSDK. Les sections suivantes décrivent les différents cas d'exceptions déclenchées par le SDK et expliquent comment les gérer de manière appropriée.
Pourquoi des exceptions non contrôlées ?
AWS SDK for Java Utilise des exceptions d'exécution (ou non vérifiées) au lieu d'exceptions vérifiées pour les raisons suivantes :
-
Permettre aux développeurs un contrôle extrêmement précis des erreurs qu'ils veulent gérer sans les forcer à gérer les cas exceptionnels par lesquels ils ne sont pas concernés (rendant alors leur code excessivement détaillé)
-
Pour éviter les problèmes d'évolutivité inhérents aux exceptions contrôlées dans les grandes applications
En général, les exceptions contrôlées fonctionnent bien à petite échelle, mais peuvent devenir problématiques au fur et à mesure que les applications se développent et deviennent plus complexes.
Pour plus d'informations sur l'utilisation des exceptions contrôlées et des exceptions non contrôlées, consultez :
AmazonServiceException (et sous-classes)
AmazonServiceExceptionest l'exception la plus courante que vous rencontrerez lors de l'utilisation du AWS SDK for Java. Cette exception représente une réponse d'erreur provenant d'un AWS service. Par exemple, si vous essayez de mettre fin à une Amazon EC2 instance qui n'existe pas, vous EC2 renverrez une réponse d'erreur et tous les détails de cette réponse d'erreur seront inclus dans le AmazonServiceException
message envoyé. Dans certains cas, une sous-classe d'AmazonServiceException
est levée afin de permettre aux développeurs un contrôle très précis de la gestion des cas d'erreur par le biais de blocs d'interception (catch).
Lorsque vous rencontrez unAmazonServiceException
, vous savez que votre demande a été envoyée avec succès au AWS service mais n'a pas pu être traitée avec succès. Cela peut être dû à une erreur des paramètres de la demande ou à un problème côté service.
AmazonServiceException
vous fournit des informations telles que :
-
Code HTTP de statut renvoyé
-
Code AWS d'erreur renvoyé
-
Message d'erreur détaillé du service
-
AWS ID de demande pour la demande qui a échoué
AmazonServiceException
inclut également des informations indiquant si l'échec de la demande est la faute de l'appelant (demande avec des valeurs illégales) ou la faute AWS service de l'appelant (erreur de service interne).
AmazonClientException
AmazonClientExceptionindique qu'un problème s'est produit dans le code client Java, soit lors de la tentative d'envoi d'une demande, AWS soit lors de la tentative d'analyse d'une réponse de AWS. Un AmazonClientException
est généralement plus grave qu'un AmazonServiceException
et indique un problème majeur qui empêche le client de faire des appels de service aux AWS services. Par exemple, il AWS SDK for Java lance une alerte AmazonClientException
si aucune connexion réseau n'est disponible lorsque vous essayez d'appeler une opération sur l'un des clients.