title: Does deferencing an end() iterator throw?
body: <p>I am trying to catch this exception but am unable to do so :</p>
  <pre><code>#include &lt;unordered_map&gt;
  #include &lt;iostream&gt;
  #include &lt;exception&gt;
  
  
  int main() {
      std::unordered_map&lt;int, std::string&gt; x;
      auto it = x.end();
      try { *it; }
      catch (const std::exception&amp; exception) {
          std::cout &lt;&lt; &quot;BIG FAT ERROR&quot; &lt;&lt; std::endl;
      }
  }
  </code></pre>