如何處理在ViewModel中的屬性發生時發生的異常?該屬性發生在Loaded事件之前。例如,我有一個屬性(只能獲取),它調用一些數據方法來返回一組狀態以填充組合框的itemsource。但有時SQL不會連接,我得到一個exeption。有這樣的多個屬性,我想告訴用戶組合不能正確加載,然後把它們放回我的主屏幕。但是,如果他們全都失敗,我還是不要輸入5個消息框。另外,爲什麼它會繼續嘗試獲取屬性,即使我告訴它在第一個異常發生時進入主屏幕?注:GetStatesList()方法也有try/catch語句,並在catch扔...如何處理MVVM View Model屬性中的異常?
try
{
ObservableCollection<string> states=null;
// perform sql query
states=StateDat.Instance.GetStatesList(); //get the collection of state names
}
catch(Exception ex)
{
MessageBox.Show("Error"); //display an error message
MessengerInstance.Send(ViewModelNamesEnum.HomeVM); //go home
}