【发布时间】:2016-10-10 10:32:47
【问题描述】:
我不明白为什么,但我收到了 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;
}
这是输出(我知道抛出异常的唯一原因):
【问题讨论】:
-
可能是被库或者你调用的方法捕获了?
-
@MehrzadChehraz 很抱歉,但我无法理解...您是在暗示我在某处有另一个 try/catch 还是其他库正在处理异常?
-
@eestein 库可能正在抛出异常、捕获并处理它。输出日志显示抛出的异常(包括已捕获的异常)
-
@Rob 我明白了。但是库本身提供了异常处理选项,并且在创建者的页面上,他使用相同的代码作为示例。考虑到这一点,我认为情况并非如此。
-
除了你之外还有其他人在做这个项目吗?我能想到的是有人可能有configured a global error handler 调用
call.ExceptionHandled = true,这将防止异常冒泡到您的代码。