RE: Node Question

Don Hamson wrote,

> I was wondering how side-effects should be implemented 
> during error conditions.  For example replaceChild removes
> newChild if it exists and replaces oldChild...  But an error
> occurs if oldChild doesn't exist.  Is newChild removed for
> the error case?  And can you generalize so your answer would 
> consistently apply for side-effects with other errors?  

The spec is silent on this, but it's a fairly straightforward
quality of implementation issue. Ideally if a method call on a
given node exits via an exception throw, then that node (and
anything else involved in the call) should be left in the state
it was in prior to the call.

Whilst desireable, this might be impossible or impractical in
some implementations, in which case minimal exception safety
requires that everything involved in the call be left in a
consistent state.

Cheers,


Miles

-- 
Miles Sabin                          Cromwell Media
Internet Systems Architect           5/6 Glenthorne Mews
+44 (0)181 410 2230                  London, W6 0LJ
msabin@cromwellmedia.co.uk           England

Received on Friday, 23 October 1998 11:07:30 UTC