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(); } }
这是一个很普通的在catch块和finally块中使用await的情形,而这个特性将会对开发者带来很大的便利。