Что происходит при двойном исключении в деструкторе и как избежать undefined behavior?

C++деструкторыисключениянеопределенное поведениеосновы языка