【发布时间】:2012-10-23 09:04:08
【问题描述】:
我确定我做错了什么,但是当我尝试这个新线程任务异常处理的示例时,我不断收到用户代码未处理的异常。代码的重点是展示如何捕获任务中的错误的示例。
static void Main(string[] args)
{
var task1 = Task.Factory.StartNew(() =>
{
throw new MyCustomException("I'm bad, but not too bad!");
});
try
{
task1.Wait();
}
catch (AggregateException ae)
{
// Assume we know what's going on with this particular exception.
// Rethrow anything else. AggregateException.Handle provides
// another way to express this. See later example.
foreach (var e in ae.InnerExceptions)
{
if (e is MyCustomException)
{
Console.WriteLine(e.Message);
}
else
{
throw;
}
}
}
}
最有可能的用户错误只是不确定是什么(使用 Visual Studio 2012);
【问题讨论】:
-
滚动到黄色大框中的“注意”。 :)
标签: c#