Condividi tramite


Metodo AsyncBuilder.TryFinally<'T> (F#)

Implementa try...finally nei calcoli asincroni.

Percorso di spazio dei nomi/modulo: Microsoft.FSharp.Control

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
member this.TryFinally : Async<'T> * (unit -> unit) -> Async<'T>

// Usage:
asyncBuilder.TryFinally (computation, compensation)

Parametri

  • computation
    Tipo: Async<'T>

    Calcolo di input.

  • compensation
    Tipo: unit -> unit

    L'azione da eseguire dopo il completamento di computation o la generazione di un'eccezione (annullamento incluso).

Valore restituito

Calcolo asincrono che esegue un calcolo e un'azione di compensazione al completamento del calcolo o in caso di eccezione.

Note

Crea un calcolo asincrono che esegue computation.L'azione compensation viene eseguita al termine dell'elemento computation, indipendentemente dal fatto che computation sia stato eseguito in condizioni normali o a causa di un'eccezione.Se l'elemento compensation stesso genera un'eccezione, l'eccezione originale verrà ignorata e la nuova eccezione diverrà il risultato complessivo del calcolo.

In fase di esecuzione del calcolo, viene effettuato un controllo di annullamento.L'esistenza di questo metodo consente l'utilizzo di try...finally nella sintassi dell'espressione di calcolo async { ... }.

Piattaforme

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informazioni sulla versione

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Vedere anche

Riferimenti

Classe Control.AsyncBuilder (F#)

Spazio dei nomi Microsoft.FSharp.Control (F#)