Closed
Description
The default error messages on a several math functions are mostly opaque and and unhelpful.
>>> sqrt(-5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
It would require some effort, but the code could be refactored to give a customized and helpful response, a least in common cases (falling back to the C error code message when the cause is not known):
ValueError: math.sqrt() expects a non-negative input. See cmath.sqrt() for variation that supports complex numbers
ValueError: math.log() requires a non-negative input.