Why exceptions for error handling is so important

via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 13 14:46:24 PST 2015


Of course the best solution might be to just implement reasonably 
fast exceptions by:

1. Restricting the exception object to 512 bytes, preallocated in 
TLS.

2. Only have one exception in flight per thread

3. Require that the first 8 bytes of the exception buffer are 0 
when no exception is in flight, and use them for encoding 
exception type when one is in flight.

4. Leave it to the implementation how to propagate awareness of 
an exception. (LLVM has many different calling conventions, it 
might be desirable to do it different for each one).

5. Constrain calls from C to D to nothrow functions.


More information about the Digitalmars-d mailing list