Hotfix: Catch Throwable instead of Exception in LockingMiddleware #160
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.
Hello 👋
If for instance a ValueError is thrown in a command handler using this locking middleware will execute second command.
I discovered this because new enum feature from PHP released on 8.1 throws a
ValueError
exception when value is not expected callingfrom
method.Some playground with enums and exceptions:
Then,
ValueError
extendsError
which implementsThrowable
but does not extendsException
so catch is not working as we expect.I did the test with
Error
class since it is available from PHP 7.On a side note, I realized this
LockingMiddleware
is not available in master branch but was not released 2.0 yet, so I patch1.x
which I see has recent commits.