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?