Don't catch a generic Exception following a multi-catch statement #742
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.
Currently a multi-catch statement like:
is translated to three objc
@catch
clauses:The last
@catch
clause seems to be the closest common ancestor ofA
andB
, but from what I understand, this doesn't match the semantics of the Java multi-catch syntax. In fact, if the multi-catch is followed by acatch (C e) {}
, whereC
also inheritsRuntimeException
, the translated@catch (C *e)
clause is never reached because it is shadowed by the extraneous@catch
clause.This pull request changes the translation to omit the extra
@catch
clause after a multi-catch. Please review because I can't help but think that the extra@catch
clause was previously being generated intentionally.