title: Getting meaningful error messages from fstream's in C++
body: <p>What is the best way to get meaningful file access error messages, in a portable way from std::fstreams ? The primitiveness of <code>badbits</code> and <code>failbits</code> is getting to be bit annoying. I have written my own exception hierarchies against win32 and POSIX before, and that was far more flexible than the way the STL does it.</p>
  
  <p>I am getting "basic::ios_clear" as an error message from the <code>what</code> method of a downcasted catch (<code>std::exception</code>) of a <code>fstream</code>  which has exceptions enabled. This doesn't mean much to me, although I do know what the problem is I'd like my program to be a tad more informative so that when I start deployment a few months later my life will be easier.</p>
  
  <p>Is there anything in Boost to extract meaningful messages out of the <code>fstream</code>'s implementation cross platform and cross STL implementation ? </p>