[D-runtime] [D-Programming-Language/druntime] 1117e5: implemented proper exception chaining on Posix

Don Clugston dclugston at googlemail.com
Wed Mar 30 00:29:05 PDT 2011


On 30 March 2011 08:02, Brad Roberts <braddr at puremagic.com> wrote:
> On 3/29/2011 3:42 PM, Sean Kelly wrote:
>> On Mar 29, 2011, at 1:17 PM, Don Clugston wrote:
>>
>>> On 29 March 2011 16:21, Sean Kelly <sean at invisibleduck.org> wrote:
>>>> Thanks!  I'll make sure the Posix implementation passes the tests today, then submit a pull request to remove the version flag.
>>>
>>> DMD is currently failing test4.d on everything except Windows. That's
>>> a good sign! But it means that test4 should be modified immediately
>>> (version = TdplExceptionChaining should be defined on all platforms,
>>> not just Windows).
>>
>> Okay... the latest revision passes test4 on Posix with version=TdplExceptionChaining defined.  Does someone with DMD commit access want to modify the file manually or should I submit a pull request?
>
> I just pushed a change set to the tests that make the TdplExceptionChaining the only code paths for test4.d and eh.d.
> eh.d doesn't currently pass, but I figured trading the test4.d failure for the eh.d failure was a step in the right
> direction.

Note that the tests in eh.d are tough. It's currently failing the
simplest one. Sean, you might want to take a close look at the tests,
and also at the comments in deh.d
The thing that's difficult is that you can have multiple chains of
exceptions in flight at any given time. The most important feature is
that chaining occurs only when the exception is handled (in a catch or
finally), not when it's thrown, because this is when the collision
actually happens.


More information about the D-runtime mailing list