gpt4 book ai didi

c# - 获取 AggregateException 中包含的真实异常类型

转载 作者:太空狗 更新时间:2023-10-30 00:30:01 25 4
gpt4 key购买 nike

在具有 59sec 的 CancellationToken 的任务中执行数据库查询。如果任务被取消,则抛出 TaskCanceledException。但此异常作为 AggregateException 的一部分被捕获。我想提供具体的错误信息。那么是否可以在代码中验证 AggregateException 中的真正异常是否是 TaskCancelationException?

最佳答案

您需要使用InnerExceptionInnerExceptions,具体取决于您的情况:

if (x.InnerException is TaskCanceledException)
{
// ...
}

如果你知道你只有一个异常(exception),上面的方法就可以工作;但是,如果您有多个,那么您想对所有这些做一些事情:

var sb = new StringBuilder();

foreach (var inner in x.InnerExceptions)
{
sb.AppendLine(inner.ToString());
}

System.Diagnostics.Debug.Print(sb.ToString());

关于c# - 获取 AggregateException 中包含的真实异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43183496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com