gpt4 book ai didi

c# - 有没有办法在不抛出异常的情况下等待 TPL 任务?

转载 作者:太空狗 更新时间:2023-10-29 18:04:32 24 4
gpt4 key购买 nike

我们中的一些人更喜欢以异常轻的风格编写代码。但是,如果您等待一个 Task Parallel Library 任务,并且该任务抛出异常,它也会在调用线程上抛出异常。是否有一种(最好是标准的)方法来避免这种行为,并在您取回响应时检查异常响应?

最佳答案

您可以像这样使用 Task.WaitAny:

        var task = Task.Run(() =>
{
// ...
throw new Exception("Blah");
});
Task.WaitAny(task);
if (task.IsFaulted)
{
var error = task.Exception;
// ...
}
else if (task.IsCanceled)
{
// ...
}
else
{
// Success
}

关于c# - 有没有办法在不抛出异常的情况下等待 TPL 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31917601/

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