try / catch是否在Task.Factory.StartNew之外工作?

时间:2013-12-10 20:41:17

标签: .net c#-4.0

以下是否会捕获StartNew()内部发生的异常?它似乎没有。

   try
   {
      Task.Factory.StartNew(() =>
      {
       //do something
      });
    }
    catch(Exception ex)
    {
      //log it
    }

2 个答案:

答案 0 :(得分:3)

没有。创建新任务后,您的try块将退出。

你可以捕捉异常。请参阅: Catching Error when using Task.Factory 了解更多信息。

答案 1 :(得分:0)

它不能,因为当try退出时,任务尚未完成。无法知道未来是否会发生例外。

任务的重点是开始一个异步的独立计算。