Revise generated server function catch clauses #497
Merged
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.
wrap_with_try_catch/4 wraps a function handler body with try/1.
Our previous approach used
rescue
clauses for exception types definedfor this function in the schema. When no exception types are defined,
this resulted in us passing [] (empty list) into the macro as the
rescue
argument. Elixir 1.10 doesn't like that:This revised approach moves exception type handling into the existing
catch
list (and does away withrescue
), merging them with ourexisting
catch
clause that is common to all server functions. Thisguarantees that we always have at least one clause to expand in the
macro.
Fixes #495