title: Where do I catch Exceptions in MVVM?
body: <p>My view model class has a method (not sure if that is good practice or if view models are supposed to be strictly property and property changing mechanisms) that connects to a service. Of course I want to handle any possible WCF exceptions when connecting or disconnecting.</p>
  
  <p>Let's use endpoint not found as an example considering that is an exception that I would want to bring to the user's attention. Consider the rough code example:</p>
  
  <pre><code>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
  }
  </code></pre>
  
  <p>Is it considered good practice to maybe invoke System.Windows.MessageBox.Show() directly within the catch or should I maybe rethrow the exception so another layer of my WPF application catches it? If so, where is the ideal place to catch such an exception?</p>