我不明白为什么但是我接收到了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;
}
这是输出(我知道抛出异常的唯一原因):
答案 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
{
...
}
}
```