On Friday, 18 August 2017 at 03:31:38 UTC, Walter Bright wrote:
Chained exceptions are a good idea, but are more or less a disaster:

1. No other language does chained exceptions

2. Attempting to hammer D chained exceptions into other language schemes (such as C++) makes for lots of unfun hours attempting to decode undocumented behavior in those other schemes

3. Makes D exceptions incompatible with other language exceptions and their infrastructure

4. Are incomprehensibly implemented (I defy anyone to explain how the test cases in the test suite are actually supposed to work)

5. Are more or less incompatible with non-GC memory allocation

I'd like to remove them from D.

I recommend *not* designing any program that requires them.

If we are to remove them, what happens when exceptions would normally chain?

-Steve

Reply via email to