Re:Hurl, the Exceptional Language
by kdmccormick on Sunday May 26, 2024 @09:58PM
(#40486985)
That's all great in theory, but in practice, I see except clauses mostly used to handle particular exception classes that callees are known to throw.
My applications have very few exception handlers and most don't do any "handling" at all except logging.
My most robust application is a desktop application with a single exception handler at the event loop that merely prints the exception message in an a message box. If you try and save a file to a bad network location or something, just click ok and try again.
If b() changes to throw a different type of exception that main() doesn't know to handle them main will break. And breaking is entirely the correct behaviour.
Maybe b() is an interface and the actual implementation might not even have existed when main() was written. Maybe yesterday it was implemented with a file, tomorrow with a HTTP call, and maybe next week something else. But tomorrow, at least, it can retry the operation when it fails.