raise exception for caller to handle if needed