First page Back Continue Last page Summary Text


However, there is a higher peak in the mountain range – the strong exception safety guarantee. The strong exception safety guarantee places a more demanding constraint on m() (one that implies all the others):
If m() terminates by propagating an exception then it has made no change to the state of the program.
The basic and strong exception safety guarantees were first described by Dave Abrahams ("Exception Safety in STLPort" in documenting an implementation of the C++ standard library. (Although he used the term 'weak exception safety guarantee' for what is now called the ‘basic guarantee’.)