OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: SAX/C++: C++-specific design principles

[ Lists Home | Date Index | Thread Index ]
  • From: Steinar Bang <sb@metis.no>
  • To: xml-dev@ic.ac.uk
  • Date: 07 Dec 1999 08:27:23 +0100

>>>>> "Mark D. Anderson" <mda@discerning.com>:

> Unlike java or perl, exceptions in C++ are a bit of a land mine, 
[snip!]

Se Items 9 through 15, and in particular Item 15 "Understand the costs
of exception handling", in Scott Meyers' "More Effective C++"
	http://www.awl.com/cseng/titles/0-201-63371-X/
for more detail on this.

> Not to mention the fact that there is no standard for cross-language
> exception raising.

> choices seem to be:
> - return an error code
> - return a boolean success/failure
> - use C++ exceptions
> - call an error handler and return 0 (which may not get run if the
>   error handler aborts)
> - some combination of the above, configurable by the programmer

Personally I'm partial to allocate the "return value" in the caller,
and give a reference argument to this value and return a status code,
rather than returning the value itself, e.g.
	bool getValue(int index, string& value);
rather than
	const string& getValue(int index);

The syntax is more clumsy, but the memory management is easier (I'm
also partial to allocate objects on the stack in the caller, rather
than doing new).

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS