共用方式為


AsyncBuilder.TryFinally<'T> 方法 (F#)

實作非同步計算中的 try...finally。

**命名空間/模組路徑:**Microsoft.FSharp.Control

組件:FSharp.Core (在 FSharp.Core.dll 中)

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

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

參數

  • computation
    型別:Async<'T>

    輸入計算。

  • compensation
    型別:unit -> unit

    要在 computation 完成或引發例外狀況 (包括取消) 之後執行的動件。

傳回值

在引發例外狀況時或之後,執行計算和補償的非同步計算。

備註

建立會執行 computation 的非同步計算。動作 compensation 會在 computation 完成之後執行,不論 computation 是正常結束還是因例外狀況而結束。如果 compensation 本身引發例外狀況,則會捨棄原始例外狀況,而新的例外狀況會變成計算的整體結果。

執行計算之後,便會執行取消檢查。如果這個方法存在,則允許將 try...finally 用於 async { ... } 計算運算式語法。

平台

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

版本資訊

F# 核心程式庫版本

支援版本:2.0, 4.0,可攜式執行檔 (PE)。

請參閱

參考

Control.AsyncBuilder 類別 (F#)

Microsoft.FSharp.Control 命名空間 (F#)