add ValueError constructor for richer error objects