Reset controller state on failed model build #720
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.
The user's implementation of buildModels is wrapped in a try/catch so that if it fails
we can reset the state of this controller. This is useful when model building is done
on a dedicated thread, which may have its own error handler, and a failure may not
crash the app - in which case this controller would be in an invalid state and crash later
with confusing errors because "threadBuildingModels" and other properties are not
correctly set. This can happen particularly with Espresso testing.
@ngsilverman @BenSchwab