zoukankan      html  css  js  c++  java
  • 处理Task引发的异常

    处理方法:线程启动后,使用try-catch,通过wait或者waitall来捕获异常。

    单个Task的情况:

    System.Threading.Tasks.Task task1 = new System.Threading.Tasks.Task(TaskMethod);
    task1.Start();
    try
    {
        task1.Wait();
    }
    catch(AggregateException ae)
    {
        Console.WriteLine("task1 异常");
    }

    多个Task的情况:

           System.Threading.Tasks.Task[] tasks = new System.Threading.Tasks.Task[3];
                tasks[1] = new System.Threading.Tasks.Task(TaskMethod);
                tasks[1].Start();
                tasks[2] = new System.Threading.Tasks.Task(TaskMethod);
                tasks[2].Start();
                tasks[3] = new System.Threading.Tasks.Task(TaskMethod);
                tasks[3].Start();
                try
                {
                    System.Threading.Tasks.Task.WaitAll(tasks);
                }
                catch(AggregateException ex)
                {
                    foreach (var exception in ex.InnerExceptions)
                    {
                        Console.WriteLine(exception.ToString());
                    }
                }
            public static void TaskMethod()
            {
                //
            }            
  • 相关阅读:
    JSON
    Iterator
    JSP内置对象和EL内置对象
    JavaBean简介
    Java关键字final、static使用总结
    static 语句块
    修改tomcat端口号的方法
    URL和URI的区别
    java.util.vector中的vector的详细用法
    java中Long 和long的区别
  • 原文地址:https://www.cnblogs.com/dayang12525/p/8205313.html
Copyright © 2011-2022 走看看