Umgang mit Ausnahmen - AWS SDK for Java 1.x

Version AWS SDK for Java 1.x wurde am 31. Juli 2024 in den Wartungsmodus versetzt und wird end-of-supportam 31. Dezember 2025 verfügbar sein. Wir empfehlen Ihnen, auf den zu migrieren AWS SDK for Java 2.x, um weiterhin neue Funktionen, Verfügbarkeitsverbesserungen und Sicherheitsupdates zu erhalten.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Umgang mit Ausnahmen

Es ist wichtig zu verstehen, wie AWS SDK for Java und wann Ausnahmen ausgelöst werden, um hochwertige Anwendungen mit dem SDK zu erstellen. In den folgenden Abschnitten werden die verschiedenen Fälle von Ausnahmen beschrieben, die durch die ausgelöst werden, SDK und wie sie angemessen behandelt werden.

Warum ungeprüfte Ausnahmen?

Der AWS SDK for Java verwendet aus den folgenden Gründen Laufzeitausnahmen (oder ungeprüfte Ausnahmen) anstelle von geprüften Ausnahmen:

  • Entwickler erhalten genaue Kontrolle über die Fehler, auf die sie eingehen möchten. Sie werden aber nicht dazu gezwungen, auftretende Ausnahmen zu verarbeiten, für die sie sich nicht interessieren (was den Code übermäßig aufblähen würde).

  • Skalierbarkeitsprobleme durch geprüfte Ausnahmen in großen Anwendungen werden verhindert.

Im Allgemeinen eignen sich geprüfte Ausnahmen gut im kleinen Rahmen. Wenn Anwendungen wachsen und komplexer werden, können sie allerdings zu Problemen führen.

Weitere Informationen über die Verwendung von geprüften und ungeprüften Ausnahmen finden Sie unter:

AmazonServiceException (und Unterklassen)

AmazonServiceExceptionist die häufigste Ausnahme, die bei der AWS SDK for Java Verwendung von auftritt. Diese Ausnahme stellt eine Fehlerantwort von einem dar AWS-Service. Wenn Sie beispielsweise versuchen, eine Amazon EC2 Instanz zu beenden, die nicht existiert, EC2 wird eine Fehlerantwort zurückgegeben, und alle Details dieser Fehlerantwort werden in der AmazonServiceException ausgelösten Antwort enthalten. In einigen Fällen wird eine abgeleitete Klasse von AmazonServiceException ausgelöst. So erhalten Entwickler genaue Kontrolle über den Umgang mit Fehlerfällen in Catch-Blöcken.

Wenn Sie auf eine stoßenAmazonServiceException, wissen Sie, dass Ihre Anfrage erfolgreich an die gesendet wurde, AWS-Service aber nicht erfolgreich bearbeitet werden konnte. Dies kann an Fehlern in den Parametern der Anforderung oder an Problemen auf Seiten des Services liegen.

AmazonServiceException gibt Ihnen Informationen wie z. B.:

  • HTTPDer Statuscode wurde zurückgegeben

  • AWS Fehlercode zurückgegeben

  • detaillierte Fehlermeldung aus dem Service

  • AWS Anforderungs-ID für die fehlgeschlagene Anfrage

AmazonServiceExceptionenthält auch Informationen darüber, ob die fehlgeschlagene Anfrage vom Anrufer (eine Anfrage mit unzulässigen Werten) oder vom AWS-Service Anrufer (ein interner Dienstfehler) verschuldet wurde.

AmazonClientException

AmazonClientExceptiongibt an, dass im Java-Client-Code ein Problem aufgetreten ist, entweder beim Versuch, eine Anfrage an zu senden, AWS oder beim Versuch, eine Antwort von zu analysieren. AWS An AmazonClientException ist im Allgemeinen schwerwiegender als ein AmazonServiceException und weist auf ein schwerwiegendes Problem hin, das den Client daran hindert, Serviceanfragen an AWS Dienste zu tätigen. Dies ist beispielsweise der AWS SDK for Java Fall, AmazonClientException wenn keine Netzwerkverbindung verfügbar ist, wenn Sie versuchen, einen Vorgang auf einem der Clients aufzurufen.