Replace assert statements with explicit exception handling in non-test files #591
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.
Summary
This pull request replaces all assert statements in non-test Python files with explicit exception handling.
The goal is to prevent loss of runtime validation when Python is executed in optimized mode (-O flag), where assert statements are ignored.
Changes Made
Replaced assert statements with appropriate ValueError or RuntimeError exceptions.
Added clear and descriptive error messages for better debugging.
Ensured no modifications were made in test-related files or documentation.
References
Fixes issue: Replace and rewrite "assert" statements in non-test code (#175)
Discussed in: GitHub search and discussion on assert usage
Testing
Verified the changes by running existing unit tests to ensure no regressions.
Confirmed all modified functions raise appropriate exceptions when invalid inputs are provided.