Make Module.update() throw instead of crash for incompatible parameters#266
Merged
davidkoski merged 2 commits intoml-explore:mainfrom Sep 5, 2025
Merged
Make Module.update() throw instead of crash for incompatible parameters#266davidkoski merged 2 commits intoml-explore:mainfrom
Module.update() throw instead of crash for incompatible parameters#266davidkoski merged 2 commits intoml-explore:mainfrom
Conversation
davidkoski
approved these changes
Sep 5, 2025
Collaborator
davidkoski
left a comment
There was a problem hiding this comment.
Looks good, I think this is a nice improvement!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Despite being a
throwingfunction there are still cases whereModule.update()will terminate withfatalErrorand thus crash the program, in case where the passed parameters are incompatible with the module's definition.I think it is better to still
throwin this case and let the caller decide what to do with this error, especially since there is already a non-throwing version of the function (which usestry!and thus crashes on any error) if the caller is not interested by error handling.This PR proposes that all cases of
fatalErrorinupdate()functions be replaced by cases ofUpdateError. Care has been take so that the error message in the exception is similar to the one which was produced byfatalError.