On Friday, 15 June 2018 at 17:29:39 UTC, bauss wrote:
[snip]

There is a reason that I have not gotten rid of this: http://diamondmvc.org/docs/logging/#database-logging

It just _works_ most of the time and really helpful when you do not have access to the server and/or the standard output/console.

I wouldn’t doubt that a lot of behavior depends on the current approach of Errors inheriting from Throwable. I’m sure you find value in it the way it is and I bet it would be a pain to change it.

Instead, what if they introduced an UnthrowableError that does not inherit from Throwable and just kills the program without unwinding the stack or whatever else people find objectionable currently? The current Error could be re-named Throwable Error and then a new Error could be introduced that has version statements such that whether to call ThrowableError or UnthrowableError depends on switches when you compile. This way you can still have the behavior that you like, though maybe the default would change at some point in the future.

The only breaking changes I can figure would be if people are assuming that Error always inherits Throwable, when it wouldn’t if using the UnthrowableError switch.

Reply via email to