Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Its not harder. You know exactly where that function can return, with exceptions its very hard to know what might throw in practice.


With exceptions you can use something like scoped exit (http://www.boost.org/doc/libs/1_61_0/libs/scope_exit/doc/htm...) for automatic rollback and neat cleanup even in multilevel "transactions". With error codes, nothing happens automatically, hence it's easy to mess up cleanup/rollback.

Yes, you can still use RAII for rollback/cleanup in combination with error codes, but then you get the worst of both worlds: the (minor) complication of writing RAII classes AND code cluttered with manual error-checking.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: