Re: Exception handling?
On 23/06/2010 01:51, Joseph M. Newcomer wrote:
Note that this could be handled as
BOOL TryParse(...args...)
{
try
{
Parse(...);
return TRUE;
}
catch(..whatever..)
{
return FALSE;
}
}
It ain't rocket science. And it isn't clear to me how handling the exception results in
"bad code".
Sure it isn't (ain't?) rocket science... but do you like a fopen that
throws an exception if the file cannot be opened? No, I prefer one
returning an error code.
The fact that you can't open a file is not an exceptional condition, and
I prefer code like:
if ( some_open_file_api(...) == error )
{
... do what you want... (e.g. create the file, or other stuff...)
}
... normal flow
instead of try/catch.
It was clearly written before: the usefulness of exceptions is inversely
proportional to the number of try/catch you use: if you clutter your
code with lots of try/catch then IMHO you are overusing (abusing)
exceptions.
I think exceptions should be used in *exceptional* conditions (like
David wrote before).
BTW: I like these articles from the OldNewThing blog:
"Cleaner, more elegant, and wrong"
http://blogs.msdn.com/b/oldnewthing/archive/2004/04/22/118161.aspx
"Cleaner, more elegant, and harder to recognize"
http://blogs.msdn.com/b/oldnewthing/archive/2005/01/14/352949.aspx
Giovanni