throw error on bad hash opts