0

我不明白为什么,但我收到了 Flurl 异常,并且这些异常没有被 try/catch 块捕获。关于为什么会发生这种情况的任何想法?

这是代码:

try
{
    var x = await Utils.Sales.GetUrl()
        .PostJsonAsync(new Sale
        {
            MerchantId = Constants.Sandbox.MerchantId
        })
        .ReceiveJson<Sale>();
    var b = x;
}
catch (FlurlHttpTimeoutException)
{
    //LogError("Timed out!"); //todo: 
}
catch (FlurlHttpException ex)
{
    var x = ex.Message;
    //todo: 
    //if (ex.Call.Response != null)
    //    LogError("Failed with response code " + call.Response.StatusCode);
    //else
    //    LogError("Totally failed before getting a response! " + ex.Message);
}
catch (Exception ex)
{
    var a = ex.Message;
}

这是输出(我知道抛出异常的唯一原因):

在此处输入图像描述

4

1 回答 1

0

也许这个页面会有所帮助https://msdn.microsoft.com/zh-cn/library/jj619227.aspx
抱歉没有英文版,你可以尝试谷歌翻译。
您捕获异常类型或等待代码有问题。
尝试以这种方式捕获您的异常:```

try
{
    await t1;
}
catch (AggregateException ex)
{
    var innerEx = ex.InnerExceptions[0];
    if (innerEx is NotSupportedException)
    {
        ...
    }
    else if (innerEx is NotImplementedException)
    {
        ...
    }
    else
    {
        ...
    }
}

```

于 2016-10-10T02:08:33.817 回答