Why exceptions for error handling is so important

Russel Winder via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 13 03:01:41 PST 2015


On Mon, 2015-01-12 at 12:58 -0800, Walter Bright via Digitalmars-d wrote:
> On 1/12/2015 11:30 AM, Russel Winder via Digitalmars-d wrote:
> > Go has an interesting solution, key lookup in a map return a pair 
> > (result, ok), if lookup succeeded then result is the associated 
> > value, if ok is false then result is undefined. I quite like this.
> 
> 
> That's just putting the responsibility of array bounds checking on 
> the caller.
> 
> Would you want (result, ok) returned every time you indexed an 
> array? I sure
> wouldn't. An associative array isn't conceptually any different.

Why not?

There is a fundamentally different approach to error handling 
depending on whether exceptions are integral cf. Python or anathema 
cf. Go and most functional programming languages. It is unreasonable 
to impose the idioms of one model onto another. And vice versa.

arrays, sparse arrays and associative arrays are both very different 
and quite similar. The properties of the keys makes for very different 
approaches to algorithms, and possibly error handling of key lookup: 
contiguity of keys of an array is important.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



More information about the Digitalmars-d mailing list