Do we really have to throw an exception for this? it seems not very flexible  can't you specify a default value in the query that is used instead?