C# 6.0:在catch和finally中使用await

Asyn方法是一个现在很常用的方法,当使用async和await时,你或许曾有这样的经历,就是你想要在catch块或finally块中使用它们,比如当出现一个exception而你希望将日志记在文件或者调用一个服务将exception信息发送给server,而这些操作可能很耗时。这种情况下,在catch块中的异步方法中使用await将会很有帮助。而这已经被添加到了C# 6.0 中。

在finally块中也一样,我们也可以使用await来调用async 方法。

下面的代码块显示了怎么用它们。

public async Task SubmitDataToServer()
{
    try
    {
        // Submit Data
    }
    catch
    {
        await LogExceptionAsync();
    }
    finally
    {
        await CloseConnectionAsync();
    }
}    
View Code

这是一个很普通的在catch块和finally块中使用await的情形,而这个特性将会对开发者带来很大的便利。

原文地址:https://www.cnblogs.com/yuwen/p/4173245.html