Yes, to throw error would be better than silently return fail