ViewModel get のプロパティが発生したときに発生する例外を処理するにはどうすればよいですか? プロパティは、Loaded イベントの前に発生します。たとえば、いくつかのデータ メソッドを呼び出して状態のコレクションを返し、コンボ ボックスの項目ソースを埋めるプロパティ (get-only) があります。しかし、SQL が接続されず、例外が発生することがあります。このようなプロパティが複数あります。コンボを正しくロードできなかったことをユーザーに伝えてから、ホーム画面に戻してください。ただし、すべてが失敗した場合、5 つのメッセージ ボックスは必要ありません。また、最初の例外が発生したときにホーム画面に移動するように指示したにもかかわらず、プロパティを取得しようとし続けるのはなぜですか? 注: GetStatesList() メソッドには、catch に try/catch と throw もあります...
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
}