Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost Exception

boost/exception/errinfo_file_handle.hpp

Synopsis

#include <boost/exception/error_info.hpp>

namespace
boost
    {
    template <class> class weak_ptr;
    typedef error_info<struct errinfo_file_handle_,weak_ptr<FILE> > errinfo_file_handle;
    }