Dear mate
Yes a very important topic indeed… I remember Herb Sutter classifying exception safety as
1. Basic exception safety
This makes sure that when you throw, stack unwinding releases resources.
2. Strong exception safety - this is hard ( make sure that the system somehow backtracks to a sane state after an exception happens )…
The idioms of throwing exception within constructors should also be mentioned… ( the rule that destructor is not invoked but objects within this objects are destroyed - this is one reason for going from built in pointers to auto_ptrs and friends ).
– cheerio atul
