WCFサービスで障害をスローするタイミングとスローしないタイミングについて、同僚と話し合っています。
1つの意見は、何らかのエラーのためにサービス操作が機能しなかった場合にのみ障害をスローするというものです。そのため、何かが無効な状態になっている可能性があります。だから、いくつかの例:
ValidateMember(文字列名、文字列パスワード、文字列国)->検証自体を実行できなかったため、必須パラメーターが渡されない場合、エラーがスローされます。->データベースがダウンしたなどの内部エラーが発生した場合はエラーをスローします->他のすべての場合には、検証の結果を指定するステータスコントラクトを返します(MemberValidated、WrongPassword、MemberNotKnown、...)
GetMember(int memberId)->何かがダウンしている場合にのみ障害をスローし、他のすべての場合はメンバーを返すか、見つからない場合はnullを返します
もう1つの意見は、GetMemberがメンバーを見つけられない場合、またはValidateMemberの場合はパスワードが間違っている場合にも、フォールトをスローする必要があるというものです。
どう思いますか?