ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Sapego <isap...@gridgain.com>
Subject Abandon of the non-throwing version of C++ client API
Date Fri, 20 Jan 2017 17:24:46 GMT
Hi Igniters,

I'm the guy who mostly contribute in C++ Ignite client and I
need your advice. Mostly I'd like to hear from our users and
those who are experienced in C++. Currently we have two
versions of most API methods - the throwing one and the
one that returns error through output argument. This was initially
done because we were not sure which way of error-reporting
is going to be preferred by our users.

Now this approach bloats C++ API a lot and makes it harder to
maintain and optimize code. I propose like to abandon and deprecate
non-throwing version of API and only leave throwing version,
but first I want to hear from you guys - what do you think? Does
anyone use non-throwing version of the API? Maybe your toolchain
does not support exceptions or are you disabling them on purpose?

For those who prefer disabling exceptions I propose to introduce
some macros like IGNITE_DISABLE_EXCEPTIONS and add
some thread-local error-storing mechanism like ignite::GetLastError().

What do you guys think?

Best Regards,

View raw message