Thread overview
Re: Request for testers: GDC-5.1 Release Candidate branched
Apr 19, 2015
Iain Buclaw
Apr 19, 2015
Iain Buclaw
Apr 19, 2015
Iain Buclaw
Apr 20, 2015
Iain Buclaw
April 19, 2015
On 19 April 2015 at 09:13, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>
> Last feature I am working on getting in is runtime exception chaining support.  If anyone has any grand ideas, they'd be more than welcome.
>

First attempt: https://github.com/D-Programming-GDC/GDC/compare/master...ibuclaw:eh_chaining

Can someone have a review?  In particular, I'd like to know when and when not to chain Exception and/or Error objects together.

Regards
Iain.
April 19, 2015
On 19 April 2015 at 13:50, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
> On 19 April 2015 at 09:13, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>>
>> Last feature I am working on getting in is runtime exception chaining support.  If anyone has any grand ideas, they'd be more than welcome.
>>
>
> First attempt: https://github.com/D-Programming-GDC/GDC/compare/master...ibuclaw:eh_chaining
>
> Can someone have a review?  In particular, I'd like to know when and when not to chain Exception and/or Error objects together.
>

For instance, if a new exception is thrown inside a catch handler, what then?  If a caught exception is thrown, what then?

Regards
Iain.
April 19, 2015
On 19 April 2015 at 13:52, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
> On 19 April 2015 at 13:50, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>> On 19 April 2015 at 09:13, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>>>
>>> Last feature I am working on getting in is runtime exception chaining support.  If anyone has any grand ideas, they'd be more than welcome.
>>>
>>
>> First attempt: https://github.com/D-Programming-GDC/GDC/compare/master...ibuclaw:eh_chaining
>>
>> Can someone have a review?  In particular, I'd like to know when and when not to chain Exception and/or Error objects together.
>>
>
> For instance, if a new exception is thrown inside a catch handler, what then?  If a caught exception is thrown, what then?
>

Ah ha!  After some pretty intense studying, looks like libunwind gives enough information for us to distinguosh which thrown objects should be stringed together.

All what I think is needed is for gdc to emit some __begin_catch call which builds and returns the constructed Exception object to be passed to user-land.

Regards
Iain.
April 20, 2015
On 19 April 2015 at 18:36, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
> On 19 April 2015 at 13:52, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>> On 19 April 2015 at 13:50, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>>> On 19 April 2015 at 09:13, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>>>>
>>>> Last feature I am working on getting in is runtime exception chaining support.  If anyone has any grand ideas, they'd be more than welcome.
>>>>
>>>
>>> First attempt: https://github.com/D-Programming-GDC/GDC/compare/master...ibuclaw:eh_chaining
>>>
>>> Can someone have a review?  In particular, I'd like to know when and when not to chain Exception and/or Error objects together.
>>>
>>
>> For instance, if a new exception is thrown inside a catch handler, what then?  If a caught exception is thrown, what then?
>>
>
> Ah ha!  After some pretty intense studying, looks like libunwind gives enough information for us to distinguosh which thrown objects should be stringed together.
>
> All what I think is needed is for gdc to emit some __begin_catch call which builds and returns the constructed Exception object to be passed to user-land.
>

https://github.com/D-Programming-GDC/GDC/pull/98