catch (Exception ex){ if (IsWrongPassword(ex)) return "INCORRECT_PASSWORD"; throw new Exception(ex.Message, ex);}
It's such a pity that a person who wisely makes meaningful method names, does not know that an Exception object is rethrowable.