筛选出具有Exception属性的对象

时间:2018-09-06 01:57:44

标签: c# linq exception-handling

我目前正在循环中同步执行一系列HTTP请求,然后将每个请求的结果保存在各自的索引中。

如果HTTP请求是200,我应该收到一个看起来类似于以下内容的模型:

{
    Item: { ... },
    Removed: true
}

但是,某个项目可能会失败并抛出HttpResponseException,在这种情况下,我的模型会返回为:

{
    Exception: {ExceptionServices.ExceptionDispatchInfo},
    Item: { ... },
    Removed: true
}

调用代码如下:

if (response.StatusCode == HttpStatusCode.NotFound)
{
    var exception = new HttpResponseException("ExceptionThrown!");
    throw exception;
}

首先,为什么C#将Exception属性添加到我的模型中?

第二,如果我想基于未引发异常的结果过滤所有结果,我将如何实现?我一直在尝试:

return results
    .Where(result => result != null)
    .Select(result => new MyModel
    {
        One: result.Item,
        Two: result.Removed
    })
    .ToList();

但是我收到的物品带有Exception属性。有想法吗?

0 个答案:

没有答案