

Hinweis zum Ende des Supports: Am 20. Mai 2026 AWS endet der Support für AWS SimSpace Weaver. Nach dem 20. Mai 2026 können Sie nicht mehr auf die SimSpace Weaver Konsole oder SimSpace Weaver die Ressourcen zugreifen. Weitere Informationen finden Sie unter [AWS SimSpace Weaver Ende des Supports](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html). 

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.

# Result und Fehlerbehandlung
<a name="working-with_app-sdk_result"></a>

Die `Aws::WeaverRuntime::Result<T>` Klasse verwendet eine `Outcome` Bibliothek eines Drittanbieters. Sie können das folgende Muster verwenden, um die von API-Aufrufen zurückgegebenen Fehler zu überprüfen `Result` und abzufangen.

```
void DoBeginUpdate(Application& app)
{
    Result<Transaction> transactionResult = Api::BeginUpdate(app);
    
    if (transactionResult)
    {
        Transaction transaction = 
            std::move(transactionResult).assume_value();
        
        /**
         * Do things with transaction ...
         */
    }
    else
    {     
        ErrorCode errorCode = WEAVERRUNTIME_EXPECT_ERROR(transactionResult);
        /**
         * Macro compiles to:
         * ErrorCode errorCode = transactionResult.assume_error();
         */
    }
}
```

## Result Steueranweisungs-Makro
<a name="working-with_app-sdk_result_macro"></a>

In einer Funktion mit einem Rückgabetyp `Aws::WeaverRuntime::Result<T>` können Sie das `WEAVERRUNTIME_TRY` Makro anstelle des vorherigen Codemusters verwenden. Das Makro führt die ihm übergebene Funktion aus. Wenn die übergebene Funktion fehlschlägt, veranlasst das Makro, dass die umschließende Funktion einen Fehler zurückgibt. Wenn die übergebene Funktion erfolgreich ist, wird die Ausführung mit der nächsten Zeile fortgesetzt. Das folgende Beispiel zeigt eine Neuschreibung der vorherigen Funktion. `DoBeginUpdate()` Diese Version verwendet das `WEAVERRUNTIME_TRY` Makro anstelle von if-else Kontrollstruktur. Beachten Sie, dass der Rückgabetyp der Funktion ist`Aws::WeaverRuntime::Result<void>`.

```
Aws::WeaverRuntime::Result<void> DoBeginUpdate(Application& app)
{
    /**
     * Execute Api::BeginUpdate() 
     * and return from DoBeginUpdate() if BeginUpdate() fails.
     * The error is available as part of the Result.
     */
    WEAVERRUNTIME_TRY(Transaction transaction, Api::BeginUpdate(m_app));
    
    /**
     * Api::BeginUpdate executed successfully.
     *
     * Do things here.
     */
    
    return Aws::Success();
}
```

Wenn ein `BeginUpdate()` Fehler auftritt, `DoBeginUpdate()` kehrt das Makro mit einem Fehler vorzeitig zurück. Sie können das `WEAVERRUNTIME_EXPECT_ERROR` Makro verwenden, um das `Aws::WeaverRuntime::ErrorCode` von abzurufen`BeginUpdate()`. Das folgende Beispiel zeigt, wie die `Update()` Funktion bei einem Fehler den Fehlercode aufruft `DoBeginUpdate()` und abruft.

```
void Update(Application& app)
{
    Result<void> doBeginUpdateResult = DoBeginUpdate(app);
    
    if (doBeginUpdateResult)
    {
        /**
         * Successful.
         */
    }
    else
    {    
        /**
         * Get the error from Api::BeginUpdate().
         */ 
        ErrorCode errorCode = WEAVERRUNTIME_EXPECT_ERROR(doBeginUpdateResult);

    }
}
```

Sie können den Fehlercode von `BeginUpdate()` available in eine Funktion umwandeln, die sie aufruft, `Update()` indem Sie den Rückgabetyp `Update()` auf ändern`Aws::WeaverRuntime::Result<void>`. Sie können diesen Vorgang wiederholen, um den Fehlercode weiter unten in der Aufrufliste zu senden.