title: Introduce boost::exception to me
body: <p>I am asked to create "customizable exception framework" using boost::exception. Till date I used only simple exceptions defined by me. So std::exception,boost::exception are new to me. The code is below. </p>
  
  <pre><code>#include &lt;iterator&gt;
  #include&lt;string&gt;
  #include &lt;algorithm&gt;
  #include&lt;errno.h&gt;
  
  struct My_exception:public virtual boost::exception
  {
  };
  
  int main()
  {
  std::string fileName="tmp.txt";
  std::string mode="r";
  
      try
      {
          if(fopen(fileName.c_str(),mode.c_str()))
              std::cout &lt;&lt; " file opened " &lt;&lt; std::endl ;
          else
          {
              My_exception e;
              e &lt;&lt; boost::errinfo_api_function("fopen") &lt;&lt;   boost::errinfo_file_name(fileName)
              &lt;&lt; boost::errinfo_file_open_mode(mode) &lt;&lt; boost::errinfo_errno(errno);
  
              throw e;
          }
      }
      catch(My_exception e)
      {
      // extract the  details here //
      }
      return 1;
  }
  </code></pre>
  
  <p>Now, I want to know that how to extract the data from that caught exception. Can anybody guide me in the path of boost::exception</p>