title: C++ exceptions (usage hints)
body: <p>I have two questions/reflections/doubts about C++ exceptions:</p>
  
  <ol>
  <li><p>IMO when we think about using exceptions in code we have to make unambiguous decision - always use exceptions or not use them at all. This clarifies how an application will handle errors and code will be easier to read. I also always assume, that something may throw exception and I put try/catch block almost everywhere. Are my "rules" reasonable?</p></li>
  <li><p>Are all exceptions thrown by STL classes and algorithms derived from <code>std::exception</code>? My exception classes always derives from standard class (<code>runtime_error</code>, <code>logic_error</code> etc.). I wonder if I can safely replace <code>catch (...)</code> with <code>catch(const std::exception&amp; object)</code>, because the second one always provides some information about the exception's cause.</p></li>
  </ol>