Umgang mit Ausnahmen - AWS SDK for Java 1.x

Wir haben die kommende Version end-of-support für AWS SDK for Java (v1) angekündigt. Wir empfehlen Ihnen, auf AWS SDK for Java Version 2 zu migrieren. Termine, weitere Details und Informationen zur Migration finden Sie in der verlinkten Ankündigung.

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 mithilfe des SDK zu erstellen. In den folgenden Abschnitten werden die verschiedenen Fälle von Ausnahmen beschrieben, die vom SDK ausgelöst werden, und wie sie korrekt verarbeitet werden.

Warum ungeprüfte Ausnahmen?

Das 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, gibt EC2 eine Fehlerantwort zurück, 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.:

  • zurückgegebener HTTP-Statuscode

  • 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.