4 ms·
Many people sooner or later have to spend an evening/night debugging serious issue affecting critical production system, discovering that system is left in inco
by dpc_pw 10y ago
Many people sooner or later have to spend an evening/night debugging serious issue affecting critical production system, discovering that system is left in inconsistent state after some corner case is throwing an exception that the code between it and the catch block didn't anticipate/handle correctly. And then they become emotionally invested.
- soulbadguy 10y ago> code between it and the catch block didn't anticipate/handle correctly This sounds like a general errors handling issue that nor exceptions nor monadic errors types can prevent.
- dpc_pw 10y agoNo language can fix mistakes, but in Rust if you have a() calling b() which calls c(), there is no way* that c can jump to a without any indication of it in b. You at least need to have `?` somewhere in b. I consider it a really good thing, among other advantages. * panic + catch_unwind, but that's special and not meant or used in practice for error handling
- mmstick 10y agoRust requires at compile-time that you handle each case.