
On Tuesday 17 February 2004 05:01 pm, Jody Hagins wrote:
asserts (if the default combiner is used). I guess that makes sense, because there can be no "combined" return value if there are no slots. However, an assertion seems a bit harsh. I am really not sure what should happen, but maybe an exception is a better alternative,
Well, we could throw bad_function_call, perhaps, or pick/create some other exception (I'm at a loss for exception names for this).
or maybe an alternative interface can define a default value to be returned if there are no slots connected), or maybe something else...
Well, you can always write a different combiner that does this.
Anyway, I guess I was wanting to know why this is the case, and what is the usual method of handling this circumstance. I assume something like:
if (!sig.empty()) { result = sig(); }
but that just does not look pretty...
No, it isn't pretty; perhaps the exception is the right way to go, depending on your application. Doug