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