【解决方案】Windows 11 电脑卡死并且鼠标无法移动 - 记录各类问题的解决方案
2026/5/26 4:42:54
在多线程编程中,任务的异常处理是一个重要的方面。当任务完成时,如果存在未处理的异常,需要合适的机制来捕获和处理这些异常。
任务执行过程中产生的未处理异常会被抑制,直到调用任务完成成员(如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(