
When you use a stream, rather than a streambuf, exceptions are caught automatically and translated into stream state, unless you set the exception mask to request that exceptions be propagated. (See http://www.boost.org/libs/iostreams/doc/index.html?path=3.10)
The only time you have to be prepared to handle exceptions is when you are using a raw stream buffer.
Just to be sure, were using an old version with boost 1.32 where stream == source. What I'm finding is that in the constructor where it is passed a file to open it gets passed through to our code and the file doesn't exist the only way we have of reporting an error is through an exception but this doesn't get caught and translated by the stream_facade but propogated straight out to our code. Has this behaviour changed in 1.33 or is there something i'm missing? thanks Martin PS> Unfortuantly we cannot upgrade to 1.33 at the moment either. -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.344 / Virus Database: 267.10.24/100 - Release Date: 13/09/2005