product: use db exceptions