always return proper error message.