實作 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>輸入計算。
-
要在 computation 完成或引發例外狀況 (包括取消) 之後執行的動件。
傳回值
在引發例外狀況時或之後,執行計算和補償的非同步計算。
備註
建立會執行 computation 的非同步計算。 動作 compensation 會在 computation 完成之後執行,不論 computation 是正常結束還是因例外狀況而結束。 如果 compensation 本身引發例外狀況,則會捨棄原始例外狀況,而新的例外狀況會變成計算的整體結果。
執行計算之後,便會執行取消檢查。 如果這個方法存在,則允許將 try...finally 用於 async { ... } 計算運算式語法。
平台
Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2
版本資訊
F# 執行階段
支援版本:2.0、4.0
Silverlight
支援版本:3