Здравствуйте, Centaur, Вы писали:
C> Выбрасывает ещё и 0 — неопределённое поведение (выброс исключения во время размотки стека из-за другого исключения).
это вполне определенное поведение — terminate
http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Fcplr163.htm
по теме: зависит от объекта и от того, где именно вы бросаете исключение (случаи с double exception я не рассматриваю, хотя это главная причина, почему из деструкторов разумные разработчики не кидают исключения)