> Given that every single error check there is just
> passing up the error, is it really that different from
> having exceptions that propagate along with RAII style
> resource cleanup?
Yes, it's fundamentally different. The
whole point is to make those error blocks visible, so future maintainers are forced to deal with the reality that those invocations are fallible. Maybe there's a way to make the error handling less verbose, but hiding it altogether would subvert that explicit language design goal.