По ошибке или не по ошибке

Я обсуждаю с коллегой, когда выдавать ошибки, а когда не выдавать ошибки в службе WCF.

Бытует мнение, что мы выдаем ошибки только тогда, когда операция службы не может выполнять свою работу из-за некоторой ошибки; и из-за этого что-то может быть в недействительном состоянии. Итак, несколько примеров:

  • ValidateMember (строковое имя, строковый пароль, строковая страна) что мы выкидываем ошибки только тогда, когда операция службы не может быть выполнена ...

    Я обсуждаю с коллегой, когда выдавать ошибки, а когда не выдавать ошибки в службе WCF.

    Бытует мнение, что мы выдаем ошибки только тогда, когда операция службы не может выполнять свою работу из-за некоторой ошибки; и из-за этого что-то может быть в недействительном состоянии. Итак, несколько примеров:

    • ValidateMember (строковое имя, строковый пароль, строковая страна) что мы генерируем ошибки только тогда, когда операция службы не может быть выполнена ...

      Я обсуждаю с коллегой, когда выдавать ошибки, а когда не выдавать ошибки в службе WCF.

      Бытует мнение, что мы выдаем ошибки только тогда, когда операция службы не может выполнять свою работу из-за некоторой ошибки; и из-за этого что-то может быть в недействительном состоянии. Итак, несколько примеров:

      • ValidateMember (строковое имя, строковый пароль, строковая страна) -> вызовет ошибку, если обязательные параметры не будут переданы, потому что сама проверка не может быть выполнена; -> выдаст ошибку, если произойдет какая-то внутренняя ошибка, например, база данных не работает -> вернет статусный контракт во всех других случаях, который указывает результат проверки (MemberValidated, WrongPassword, MemberNotKnown, ...)

      • GetMember (int memberId) -> выдаст ошибку только в том случае, если что-то не работает, во всех остальных случаях она вернет член или ноль, если не найден

      Другое мнение состоит в том, что мы должны также выдавать ошибки, когда GetMember не находит член, или в случае ValidateMember неверный пароль.

      Что вы думаете?

10
задан VdesmedT 15 December 2010 в 10:54
поделиться