title: What is a module in C++?
body: <p>What does the term <em>module</em> refer to in the following sentence?</p>
  
  <blockquote>
    <p>Don't allow exceptions to propagate across module boundaries.</p>
  </blockquote>
  
  <p>This is rule 62 in <a href="http://www.gotw.ca/publications/c++cs.htm">C++ Coding Standards</a> by Herb Sutter and Andrei Alexandrescu.</p>
  
  <hr>
  
  <p>I have now read the book, so I would like to quote the section summary, which I think adds some clarity:</p>
  
  <blockquote>
    <p>Don't throw stones into your neighbor’s garden: There is no ubiquitous binary standard for C++ exception handling. Don't allow exceptions to propagate between two pieces of code unless you control the compiler and compiler options used to build both sides; otherwise, the modules might not support compatible implementations for exception propagation. Typically, this boils down to: Don’t let exceptions propagate across module/subsystem boundaries.</p>
  </blockquote>