domCopy->getOwnerDocument()->release();\r
throw UnmarshallingException("Unable to locate builder for cloned element.");\r
}\r
- try {\r
- return b->buildFromElement(domCopy,true); // bind document\r
- }\r
- catch (...) {\r
- domCopy->getOwnerDocument()->release();\r
- throw;\r
- }\r
+ XercesJanitor<DOMDocument> janitor(domCopy->getOwnerDocument());\r
+ XMLObject* ret = b->buildFromElement(domCopy,true); // bind document\r
+ janitor.release(); // safely transferred\r
+ return ret;\r
}\r
return NULL;\r
}\r