Skip to content
This repository has been archived by the owner on Jan 31, 2022. It is now read-only.

Emit RPC error specifics #158

Open
1 task done
vetens opened this issue Nov 11, 2019 · 3 comments
Open
1 task done

Emit RPC error specifics #158

vetens opened this issue Nov 11, 2019 · 3 comments
Assignees
Milestone

Comments

@vetens
Copy link

vetens commented Nov 11, 2019

Brief summary of issue

This issue is for the discussion of what to do with specific EMIT_RPC_ERROR functions which are called.

Since we are migrating the module to not make explicit reference to the rpc methods we will need to rethink any times where the code explicitly emits an rpc error and perhaps raise an exception

Types of issue

  • Feature request (request for change which adds functionality)

Current Behavior

For example, in gbt.cpp lines 46, 107, 125, 129, 162, 166, 189, and 193, there are several calls to EMIT_RPC_ERROR( response, message, errorcode). For some of these we may want to raise an exception in addition to logging it in the usual manner.

https://github.com/jsturdy/ctp7_modules/blob/53ccd17de4bae8619fbe355f7f8c62637a467273/include/utils.h#L207-L216

Currently the implementation for this migration is to replace the EMIT_RPC_ERROR calls with LOG4CPLUS_ERROR(logger, message) so I would like to establish how and when to raise exceptions in gbt and other submodules

@jsturdy
Copy link
Contributor

jsturdy commented Nov 11, 2019

In the cases that these errors return exit codes that indicate failure, now an appropriate exception should be raised (std::runtime_error, std::range_error, etc.,, though @lpetre-ulb or @lmoureaux can comment if there only certain types that will pass natively through the template, though i think all those defined (or inherited from) here are fine)

@vetens
Copy link
Author

vetens commented Nov 11, 2019

so in one of those cases should I still also log it to LOG4CPLUS_ERROR?

@jsturdy
Copy link
Contributor

jsturdy commented Nov 11, 2019

I think all exceptions should probably be logged as error or warning at least, as a general rule

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants