AsyncBuilder.TryFinally<'T> Method (F#)
Implements try...finally in asynchronous computations.
Namespace/Module Path: 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)
Parameters
computation
Type: Async<'T>The input computation.
compensation
Type: unit -> unitThe action to be run after computation completes or raises an exception (including cancellation).
Return Value
An asynchronous computation that executes computation and compensation aftewards or when an exception is raised.
Remarks
Creates an asynchronous computation that runs computation. The action compensation is executed after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself the original exception is discarded and the new exception becomes the overall result of the computation.
A cancellation check is performed when the computation is executed. The existence of this method permits the use of try...finally in the async { ... } computation expression syntax.
Platforms
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Version Information
F# Runtime
Supported in: 2.0, 4.0
Silverlight
Supported in: 3