You need a copy constructor for outerException. This should fix your bug...
class outerException
{
public:
outerException(Base* oParent, innerException& oInner);
outerException(outerException const& oSource);
~outerException();
};
HTH,
--Eljay