<div dir="ltr">Hi everyone,<div><br></div><div>I just sat down to fix a bunch of coverity warnings about using uninitialized fields, unchecked return values etc. I couldn't help but notice that the return-value strategy for error interception is flawed. It's not done by default, and if you actually check it, it clutters up the code like</div><div>```</div><div>ErrorCode rval</div><div>rval = do_something(foo, bar);</div><div>MB_CHK_ERR(rval);</div><div>```</div><div>Also, function that naturally return void have to return `int`, and in fact no function can return anything else _but_ `int` if it wants to do error checking.</div><div><br></div><div>Needless to say, this policy isn't followed strictly (in constructure, for example, you even cannot return an int, thus cannot check for errors MOAB-style).</div><div><br></div><div>I'm sure you're all aware of it, but I would like you to know that this is leading to actual errors: Inserting some MB_CHK_ERRs here and there lead me to a failing test. I still need to dig out what exactly is the cause, but I suspect a failing MB_CHK_ERR.</div><div><br></div><div>The fix for all this clearly are exceptions.</div><div><br></div><div>Cheers,</div><div>Nico</div></div>