taichi-dev/taichi

Exception raising in Field APIs

Open

#2,846 opened on Aug 30, 2021

View on GitHub
 (3 comments) (4 reactions) (1 assignee)C++ (28,195 stars) (2,384 forks)batch import
feature requestgood first issuewelcome contribution

Description

The current Field APIs, including ScalarField, MatrixField, and Structfield (after #2627) use assertions statements to check input validity, for example,

https://github.com/taichi-dev/taichi/blob/03e2923d103704048c101051d337fa31f9dbb1de/python/taichi/lang/matrix.py#L207

In software engineering practice, assertion is used to verify whether the program itself is implemented correctly regardless of user inputs, while exceptions/errors are used to check validity of the inputs. Therefore quite a few occurrences of assert statements in field.py and matrix.py are supposed to raise errors.

Contributions are greatly welcomed!

Contributor guide