Hacker News new | ask | show | jobs
by sieve 36 days ago
While it sounds interesting, I do not see this gaining traction. My main complaint would be that I do not want to think about errors except when I want to. This system sounds like Java checked exceptions in a way. You have to handle every exception that a function might throw every single time. That eventually resulted in the famous catch-swallow stratagem.

I distinguish between Faults and Errors. Faults are system level events you cannot recover from. Errors are things you may encounter in the course of doing business. Most applications do not really need to do any recovery; simply tell the user something bad happened and ask them to fix the problem.

For workflows that do need error recovery, or functions with logical failure conditions, you are free to use a Result or Optional type.

Also, I have implemented exception handling with stack unwinding for my VM. The code that does it is not really that complex. If you want to retry... then things get messy.