feat(event_handler): add exception handling mechanism for AppSyncResolver #5588
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.
Issue number: #2184
Summary
Changes
This PR introduces a new feature to handle exceptions in
AppSyncResolver
using a standard error handling mechanism, similar to the one used for HTTP Resolvers. Currently, there is no built-in support for exception handling inAppSyncResolver
, and this PR aims to address that gap.Changes
Added exception catching function: A new decorator
@app.exception_handler
has been implemented to catch and handle exceptions raised during the execution of AppSync resolvers. This decorator allows developers to define custom error handling logic based on the type of exception raised.Added tests: Test cases have been added to ensure the proper functioning of the exception handling mechanism and to maintain code quality.
Added documentation: The usage and implementation details of the
@app.exception_handler
decorator have been documented to provide guidance for developers who wish to utilize this new feature.Note
It's important to note that this exception handling mechanism is not supported when using single async resolvers.
User experience
Checklist
If your change doesn't seem to apply, please leave them unchecked.
Is this a breaking change?
RFC issue number:
Checklist:
Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.