首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AggregateException - AggregateException.Flatten().InnerException代表什么?

AggregateException - AggregateException.Flatten().InnerException代表什么?
EN

Stack Overflow用户
提问于 2012-11-27 02:23:51
回答 1查看 9.3K关注 0票数 19

我一直在研究我们的一个应用程序中的一些代码,如下所示:

代码语言:javascript
复制
catch (AggregateException ae)
{
    this._logger.Log(ae.Flatten().InnerException.ToString(), Category.Exception, Priority.High);
}

我的问题是。我知道AggregateException.Flatten()是做什么的,也知道AggregateException.Flatten().InnerExceptions代表什么。然而,AggregateException.Flatten().InnerException (single)代表什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 02:27:24

它只是原始异常中的一个非AggregateException。例如,如果您的初始AggregateException为:

代码语言:javascript
复制
AggregateException
    AggregateException
        IOException("x")
        IOException("y")
    IOException("z")

然后,平面化结果的InnerException将显示为IOException("x")IOException("y")IOException("z")。我不相信会有任何关于它的保证。(我相信目前的行为会给出"z“版本...)它将是扁平化版本上的第一个InnerExceptions,但它应该被视为所有原始非AggregateException的联合,没有保证顺序。

基本上,对于AggregateException来说,InnerException并不是特别有用。记录所有的InnerExceptions会更有用……或者只是在顶级异常上调用ToString(),这将保留所有的结构...

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13570855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档