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.
This PR introduces a
no-restricted-syntax
rule that forbids throwing any error except for:throw new HardhatError(...)
throw variableName
withincatch
clauses. — The rationale here is to allow re-throwing of the error that was caught.We could later improve this with a custom rule to:
HardhatError
throw variable
when the variable is the one in thecatch (variable)
.I believe that
no-restricted-syntax
isn't expressive enough for these things, as they are semantic conditions and not entirely syntactic. Still, I think this is a good trade-off.PS: This depends on #5460 just for convenience and to avoid merge conflicts.