Why exceptions for error handling is so important

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 12 03:27:05 PST 2015


On Monday, 12 January 2015 at 11:09:01 UTC, Walter Bright wrote:
> On 1/12/2015 3:02 AM, Tobias Pankrath wrote:
>> As far as I understand is, it requires each component to 
>> settle on the same
>> discriminated union that packs the error and result, which he 
>> calles Result but
>> is usually Choice in F#.
>>
>> Now in D we use the opDot to chain components, which works 
>> since we have UFCS.
>> In F# there a simply three different opDots: >>, >>= and >=> 
>> which take care of
>> the adaption.
>
> Or we could just use exceptions, which require none of that.

.. and have many other issues instead :)

Right now my experience from some quick experiments with Rust 
seems to indicate that it is a good sort inconvenience for 
medium-to-big applications as it forces you to explicitly 
consider all possible exceptional paths possible in application 
without and does not add any runtime overhead.

For smaller / less important programs verbosity does seem 
inconvenient in an unpleasant way indeed.


More information about the Digitalmars-d mailing list