异步try-catch中的异常

时间:2018-04-05 03:59:33

标签: c# .net async-await azure-storage

不知何故,我最终得到了返回id的罕见情况,但blob还没有被保存。下面的代码中是否有任何关于C#6在catch语句中异步的内容或者Azure库中的奇怪错误?

private async Task<string> Save(Stream stream)
{
    var id = Guid.NewGuid();
    var blob = ...;

    try
    {
        await blob.UploadFromStreamAsync(stream);
    }
    catch
    {
        if (await blob.ExistsAsync())
        {
            await blob.DeleteAsync();
        }
        throw;
    }

    return id;
}

0 个答案:

没有答案