This repository has been archived by the owner on Feb 23, 2022. It is now read-only.
Enhance exception occurred in reducer() w/ state and action #13
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.
PR enhances error information with current
state
andaction
if an error happens insidereducer()
's logic in the user code.Motivation: it lets the user easily reproduce crashes,
reducer()
can be just called with thisstate
andaction
combination that created a crash.Tech details:
I went with introducing
ReducerException
, but I'm not super opinionated on that, if you think that we can use some existing exception type, I'm fine with that. I do however like domain-specific exceptions instead of generic ones.Also, I had to add
: Any
constraints onstate
andaction
generics because otherwise Kotlin compiler didn't let me assign them toAny
fields (which sounds like a compiler bug, right?). And Exceptions are not allowed to be parametrized.