I came across interesting exception propagation behavior across different platform (win32, linux).  I have created several filters and custom filtering stream with my filters (boost 1.38-1.41).  My filter throws BOOST_IOSTREAMS_FAILURE("some message"); whenever error condition occurs.  On Linux exception gets propagated all the way to user using my stream.  On Windows XP (VS 2008) it gets caught somewhere in boost framework or Windows.  Moreover,  after exception is silently caught and dropped, all the filters close method is called.  This is where I run into issue. 
Is there anyway to ensure that upon exception no more data processing takes place withing filtering_stream and its chain?

-Anand