> First of all, you say: "The key is in the std::swap.  It is guaranteed,
> by the standard, never to throw".

Technically, you are correct about std::swap.  Again, I need to be more
clear.  std::swap on raw pointers is guaranteed never to throw.  (simiar
to an assignment, but easier to write) And, given the guidelines in Herb
Sutter's excellent book, it would behoove one to write swap methods on
more complex classes in a way so that they are guaranteed never to throw
in order to facilitate code like this.

But, this is getting off topic.

As a more general question...... to anyone who knows exactly the level of
exception safety that I am addressing......  are there any great pitfalls,
outside of the lack of deterministic destruction, that have proven to be
difficult with creating strong exception safe code in C#?

Thanks,

   -T

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to