Fixed Part 3. Rejects zero price, raises error properly, takes integer prices.