On 14 April 2012 00:16, Sean Kelly <s...@invisibleduck.org> wrote:

> On Apr 13, 2012, at 12:28 PM, Jacob Carlborg <d...@me.com> wrote:
>
> > On 2012-04-13 17:26, Sean Kelly wrote:
> >> Because no one used it. Sounds like I may need to un-deprecate it for
> 2.060.
> >
> > Yes, please. There are now several people that want to use it. But does
> the compiler handles this correctly? I think you previously mentioned
> something about this.
>
> DMD requires that you throw from the assert handler (at least when you
> compile with the -release flag or similar). That limitation is the other
> reason I deprecated the assert handler, but I imagine there are plenty of
> uses for it that exit with a throw.


Really? Are graceful asserts (ie, inner assert with an outer catch) used
throughout druntime and phobos?
I can still throw from my own handler I guess if that's a requirement, just
as long as I have the opportunity to write it to the log/output
window/pop-up message box etc before I do throw.
In my codebase, asserts are fatal anyway, so if it crashes just like the
default assert as soon as I throw, it doesn't matter anyway.. I just wanna
see what went wrong :)

I have a D DLL, loaded into a C app, if D throws, C doesn't seem to be able
to catch it and it just crashes without any useful messages. Maybe I'm
doing it wrong?

Reply via email to