Flurl异常未被捕获

时间:2016-10-10 01:47:08

标签: c# flurl

我不明白为什么但是我接收到了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;
}

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

enter image description here

1 个答案:

答案 0 :(得分:0)

也许此页面有助于https://msdn.microsoft.com/zh-cn/library/jj619227.aspx
对不起,没有英文版,你可以尝试google翻译它 捕获异常类型或等待代码时出现问题 尝试这种方式捕获您的异常: ```

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

```