【发布时间】:2015-01-20 20:26:19
【问题描述】:
下面的MessageBox.Show 调用显示“内部”。这是一个错误吗?
private void Throw()
{
Invoke(new Action(() =>
{
throw new Exception("Outer", new Exception("Inner"));
}));
}
private void button1_Click(object sender, EventArgs e)
{
try
{
Throw();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // Shows "Inner"
}
}
【问题讨论】:
-
我注意到
await Task.Run()不相关。你应该从你的问题中省略它,因为它只会分散你所问问题的注意力。 -
这很有趣。如果我们再添加一个内部异常,它也会给我们。
-
标记:在将其标记为 this other one 的重复之前,请注意实际阅读问题?