嗨我打电话给Web服务的一些项目,当他们回来时,我创建了一个界面,适合在一个单独的方法返回的项目。现在,每当出现问题时,我都需要捕捉异常并向用户显示消息。调用try方法时不捕获异常?
private void itemHelper_FeaturedItemsCalled(object sender, List<MyItem> _myItemList)
{
try
{
Dispatcher.BeginInvoke(() =>
{
if(_myItemList != 0)
CreateInterface(_myItemList);
});
}
catch
{
Dispatcher.BeginInvoke(() =>
{
LoadingScreen.Visibility = System.Windows.Visibility.Visible;
LoadingTextBlock.Text = "Unable to display items.";
BusyIndicator1.IsRunning = false;
}
}
}
现在我特意方法CreateInterface()内抛出异常。现在,当这个运行我得到和未处理的异常。这是为什么?我以为这个方法在尝试中被调用,它最终会在这里被处理?
一个不同的线程用于运行'BeginInvoke'调用的委托,所以异常在那里引发并且未处理。 – 2012-01-09 14:49:31