嗨我打電話給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