Boost.Exceptionなんか、書き換えた上で再throwまでやっているくらいだし、
catch節内での例外オブジェクトの書き込みも認められているのではないの?
ttp://www.kmonos.net/alang/boost/classes/exception.html