22 Jun
                
                    2006
                
            
            
                22 Jun
                
                '06
                
            
            
            
        
    
                7 a.m.
            
        You can also do this: throw failed<read_error>() << wrap_errno(); Here, wrap_errno is a function that captures the current errno value, and returns it as an object of some type, which is then stored in the info sub-object of the exception being thrown. Of course, you can attach more stuff directly in the throw-expression, by following with more calls to operator<<. I would be interessted in your library. regards, Oliver