-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
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
Improve the error shown when an RPC return value fails serialisation #1966
Open
mbirtwell
wants to merge
1
commit into
m-labs:master
Choose a base branch
from
OxIonics:improve_rpc_return_error
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would at least narrow down the
try
block to only the function susceptible to fail, which is only this line AFAICT?Can't the code that raises the error initially simply include the function information in its exception? Why is it not in the traceback anyway?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is after the function being called by the RPC has returned so it's not on the call stack anymore.
We could do, where ever it's an explicitly raised exception. In fact we already do in one instance, but most of the raised exceptions don't include this information. I like centralising these kind of things so that as more
raise
s get added you don't have to remember to add it each time. And this also has the advantage of adding this information to any unexpected errors.I agree that is the most likely function to fail. But I was feeling defensive when I wrote this and I can't see any harm in increasing the scope of this try block. The original exception is preserved as the cause of the exception raised here so we're not losing any information and the context might just be useful.