【发布时间】:2014-03-22 12:45:12
【问题描述】:
这可能是一个基本问题,但是当我尝试捕获 Task(在控制台应用程序中)中引发的异常时,即使我在 try catch 块中调用 task.Wait(),应用程序也会因未处理的异常而中断(添加类似Thread.Sleep 投掷前没有帮助):
static void Main(string[] args)
{
Task task = Task.Run(() => { throw null; });
try
{
task.Wait();
}
catch (AggregateException ae)
{
if (ae.InnerException is NullReferenceException)
Console.WriteLine("Null!");
else
Console.WriteLine("Exception!");
}
Console.ReadLine();
}
截图:
【问题讨论】:
-
该代码对我来说运行良好。
-
这对我有用。我得到空!在输出中。
-
你可以点击
Continue按钮,你会看到异常会被捕获。
标签: c# multithreading exception console-application