具身头部公司在集体“练小号”......
2026/6/10 7:18:06
在多线程编程中,任务的异常处理是一个重要的方面。当任务完成时,如果存在未处理的异常,需要合适的机制来捕获和处理这些异常。
任务执行过程中产生的未处理异常会被抑制,直到调用任务完成成员(如Wait()、Result、Task.WaitAll()或Task.WaitAny())时才会抛出。以下代码展示了如何捕获任务中的未处理异常:
using System; using System.Threading.Tasks; public class Program { public static void Main() { Task task = Task.Factory.StartNew(() => { throw new ApplicationException(); }); try { task.Wait(); } catch (AggregateException exception) { foreach (Exception item in exception.InnerExceptions) { Console.WriteLine(