It's annoying when you're not used to it. I guess you refer to the topic i started, but in my experience people learn to appreciate it fast. My team never worked like that before, and grumbled quite a lot when i made a global ban on exceptions. 8 months later or so, they themselves would never go back again. And i went NUCLEAR on error handling:
1) no exceptions
2) each module has its error types that must not be shared
3) a module that's used by another has to deal with it? Well it better has errors that represents "this submodule failed that way", 2) still stands
4) When handling errors, exhaustive when/switch cases are mandatory, no else clause.
The first pass is the hardest, but once you have done all of this, there is such a level of confidence in your code, you can think about everything entirely locally to the function you're working with, it's worth everything.
