https://d.puremagic.com/issues/show_bug.cgi?id=1001
--- Comment #72 from Vladimir Panteleev <[email protected]> 2014-01-11 14:06:23 EET --- (In reply to comment #71) > It's simply that the compiler cannot handle cleanup when every instruction > could throw. In case an asynchronous exception happens in the middle of some > statement your program is immediately in an invalid state. Continuing could > deadlock or corrupt data, much worse than a crash. OK... so the problem is basically that we call destructors / finally blocks / scope(exit) blocks when Errors are thrown, and those may behave in a bad way since the program was in an indeterminate state? I imagine that it's the same for signals on POSIX? In that case, I suppose we could handle both in the same way: immediately print a stack trace and exit, but still provide a mechanism for the user to customize handling of such conditions. I recall a discussion regarding whether thrown Errors should call finalizers on the stack, but I suppose it's not really clear-cut. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
