raise error when price is negative or zero