У меня есть дискуссия с коллегой о том, когда бросать ошибки и не бросать ошибки в службе WCF.
Одно мнение заключается в том, что мы только бросаем ошибки, когда операция обслуживания не могла выполнить свою работу из-за некоторой ошибки; из-за чего что-то может быть в недействительном состоянии. Итак, некоторые примеры:
-
ValidateMember (имя строки, строковый пароль, строка) - > выдает ошибку, если обязательные параметры не передаются, поскольку сама проверка не может быть выполнена; - > будет бросать ошибку, если произошла некоторая внутренняя ошибка, например, база данных была опущена - > будет возвращать контракт статуса во всех других случаях, который указывает результат проверки (MemberValidated, WrongPassword, MemberNotKnown,...)
-
GetMember (int memberId) - > будет только бросать ошибку, если что-то не работает, во всех остальных случаях он возвращает элемент или null, если не найден.
Другое мнение состоит в том, что мы также должны бросать ошибки, когда GetMember не находит участника, или в случае ValidateMember пароль неверен.
Как вы думаете?