Improved error messages.
Avoid using strtonum(3)