溫馨提示×

C# AsParallel的異常處理機制

c#
小樊
124
2024-08-08 21:28:38
欄目: 編程語言

在使用C#的AsParallel方法時,如果在并行操作過程中出現異常,可以通過AggregateException類來捕獲和處理異常。AggregateException類是Parallel類中的一個靜態方法,用于捕獲并行操作中的異常。

示例代碼如下:

try
{
    var numbers = Enumerable.Range(0, 10);

    numbers.AsParallel().ForAll(num =>
    {
        if(num == 5)
        {
            throw new Exception("Exception occurred");
        }

        Console.WriteLine(num);
    });
}
catch(AggregateException ex)
{
    foreach(var innerEx in ex.InnerExceptions)
    {
        Console.WriteLine(innerEx.Message);
    }
}

在上面的示例中,如果在并行操作中出現異常,會被捕獲到AggregateException中,并通過foreach循環輸出每個內部異常的消息。通過這種方式,可以有效地處理并行操作中的異常。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女