We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
noexcept
These are virtual functions and we need to respect the specification.
I tried (and failed) to convince these folks to drop the noexcept.
It seems that we will need to capture all exceptions. Maybe something like this (
// in some header... bool NoExceptAction(absl::FunctionRef<void()> action) noexcept; // in some cc #if GOOGLE_CLOUD_CPP_HAVE_EXCEPTIONS bool NoExceptAction(absl::FunctionRef<void()> action) noexcept try { action(); return true; } catch(...) { return false; } #else bool NoExceptAction(absl::FunctionRef<void()> action) noexcept { action(); // Will crash, would have crashed anyway. return true; } #endif // In Recordable.cc void Recordable::SetIdentity(...) { usable_ = usable_ & NoExceptAction([&]() { SetIdentityImpl(...); }); }
Then we will drop (not send to Cloud Trace) any Recordables where usable_ is false.
Recordable
usable_
false
This is all for a TODO bug and future PRs.
Originally posted by @coryan in #11286 (comment)
The text was updated successfully, but these errors were encountered:
dbolduc
Successfully merging a pull request may close this issue.
These are virtual functions and we need to respect the specification.
I tried (and failed) to convince these folks to drop the
noexcept
.It seems that we will need to capture all exceptions. Maybe something like this (
Then we will drop (not send to Cloud Trace) any
Recordable
s whereusable_
isfalse
.This is all for a TODO bug and future PRs.
Originally posted by @coryan in #11286 (comment)
The text was updated successfully, but these errors were encountered: