I want to define a tripartite `Result` type which represents success, expected failure and unexpected failure (not for the first time I've tried but I have union types now!). It would be nice if I could find three equal-length words which convey these concepts. Which do you like?
And I think that those unexpected Exceptions don't have to represent crashes; just unknown failures. Provided they're not recognised crash states (i.e. OOM, SO, etc) I think it's reasonable to catch them and treat them as unknown failures.
-
-
There may be different scopes at which those unknown failures are handled. Sure, third-party could could make unknown changes to global state, but I still think that it's often reasonable to assume that it didn't, and to treat these errors as recoverable.
-
OK, one of my premise in the talk is that you can only operate with pure (thus total) functions to not lie to your users. To get their, you have to handle all exceptions you will need to react to. Then, when you have a fault (unhandled exception), it's really out of your model
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.