title: Where should exceptions be caught and handled in a WPF application?
body: <p>We have exception catching code in most of our event handlers etc, this leads to very complex logic, with flags that are set to say if there has been an exception so as not do the next step etc.</p>
  
  <p>At first sight I would move all exception report/logging to the AppDomain.UnhandledException event, however from my experience with WinForms this will lead to a lot of exceptions being lost.</p>
  
  <p>Also when there is an exception we have include details of the operation the user was trying to do in the log message.</p>
  
  <p>So what are people <strong>experiences</strong> both <strong>bad</strong> and <strong>good</strong> at exception logging/reporting/recovering in WCF applications?</p>
  
  <p>(I would love to say that we had something like the Model-View ViewModel (MVVM) pattern) in use, but we don’t and are a long way from being able to use any “clean” design like that)</p>