title: Should I catch exceptions only to log them?
body: <p>Should I catch exceptions for logging purposes?</p>
  
  <pre>
  public foo(..)
  {
     try
     {
       ...
     } catch (Exception ex) {
       Logger.Error(ex);
       throw;
     }
  }
  </pre>
  
  <p>If I have this in place in each of my layers (DataAccess, Business and WebService) it means the exception is logged several times.</p>
  
  <p>Does it make sense to do so if my layers are in separate projects and only the public interfaces have try/catch in them? 
  Why? Why not? Is there a different approach I could use?</p>