title: exception catching for int divided by 0
body: <p>Recently i was trying a simple exception program in C++ which goes like this:-</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;exception&gt;
  #include &lt;stdexcept&gt;
  using namespace std;
  int main()
  {
      int x=5, y=0;
      try
      {
         int z=x/y;
         cout&lt;&lt;"z="&lt;&lt;z;
      }
      catch (exception&amp; e)
      {
         cout&lt;&lt;"exception caught: "&lt;&lt;e.what();
      }
      return 0;
  }
  </code></pre>
  
  <p>Why is no exception thrown here ? What is wrong in the code ?
  Also I would like to know why the <code>&amp;</code> is required to catch exception ?</p>