From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2006-11-15 05:13:56
Johan Nilsson <r.johan.nilsson_at_[hidden]> wrote:
> "Should" is a strong word, IMHO.
"Should" based on the guidelines discussed in this thread:
> I find the usage of error_code as a parameter to methods
> pollutes the domain interfaces and make them more complex. I'd
> probably prefer a TSS-based solution.
I have a strong opinion that a TSS-based solution is error
prone, since any function call can modify the TSS value as a
side effect. I have seen the following sort of incorrect code
"Error (%u): %s\n",
You might not find out that it's giving you the wrong error
value until an obscure failure occurs at a customer site, and by
that time it's too late :)
> That's a big if. If we had this facility, I could use it and
> you could still not use it. You, as a user, don't need to pay
> for what you don't need. (Also, you're missing out the
> modifying wrappers for SetLastError, errno=).
No, I see it as a bad thing to bless a TSS-based solution for
error codes in C++ by putting it in a public interface, due to
the error prone nature. It's not a "don't pay for what you don't
use" issue for me.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk