Где я могу перехватывать исключения в MVVM?

У моего класса модели представления есть метод (не уверен, является ли это хорошей практикой или предполагается, что модели представления являются строго механизмами изменения свойств), который подключается к службе. Конечно, я хочу обрабатывать любые возможные исключения WCF при подключении или отключении.

Давайте использовать конечную точку, которая не найдена, в качестве примера, учитывая, что это исключение, на которое я хотел бы обратить внимание пользователя. Рассмотрим пример грубого кода:

public void Connect()
{
    ServiceClient proxy = null;
    try
    {
        proxy = new ServiceClient();
        proxy.Subscribe();
        // ...
    }
    catch(EndpointNotFoundException)
    {
        // should I do something here?
    }
    // .. other WCF related exception catches and a finally
}

Считается ли хорошей практикой, возможно, вызывать System.Windows.MessageBox.Show () непосредственно в catch, или мне, может быть, следует повторно генерировать исключение, чтобы другой уровень моего приложения WPF уловил его? Если так, где идеальное место, чтобы поймать такое исключение?

30
задан Jeff LaFay 19 November 2010 в 19:09
поделиться