title: repackaging exceptions, or keep them intact?
body: <p>I'm writing some class which has 2 (main) subsystems. A part depends on boost::filesystem while another part depends on tinyxml. (Basically, it reads an xml, and depending on the data of the xml it uses <code>boost::filesystem</code>'s functions for more access to other files).</p>
  
  <p>Now both of these are "likely" to throw exceptions. I am wondering how to handle these exceptions:</p>
  
  <p>The class itself -in most circumstances- can't "fix" an exception and has just to throw it back. (Most probable case would be a faulty input from the user).</p>
  
  <p>However what should one do in such a case? - <code>boost::filesystem</code> &amp; tinyxml both have their own exceptions, which aren't completely compatible with each other.  </p>
  
  <p>Should I just expect the user of this class to handle boost/tinyxml exceptions? - So far the whole usage of these libraries is hidden for the end user.  </p>
  
  <p>Should I repackage the extensions into my own? I'm always hesitant of repackaging, as it means a lot of extra try ... catch blocks.</p>
  
  <p>What do you recommend me?</p>