throw error when product is missing