IServce1.cs
[ServiceConstract]
public interface IService1
{
[OperationContract]
string GetErrorCode(int er);
}
Service1.svc.cs
public class Service1:IService1
{
public string GetErrorCode(int er)
{
string description;
switch(er)
{
case 101: description="Syntax Error"; break;
case 102: description="ID already exists"; break;
case 103: description="User already exists"; break;
case 104: description="Unsupported ID"; break;
case 105: description="Server Error, try again or contact administrator"; break;
default: //Write whatever you want to throw to user.
}
return description;
}
}
別の方法を使用して、クライアント・アプリケーションでの使用これをあなたが推測どこエラーが発生するあなたは自分のカスタム例外を作成し、それぞれのコードを関連付けることができます。また、これらをデータベーステーブルに格納して、IDを使用することでそこからのコードで適切なエラーをスローすることができます。
すべてが真である場合は、これらのすべてをチェックして、結果を表示する必要があります。カスタムエラーの簡単なサンプル – user1237131
は、ブレークの代わりにフォールスルーとしてケースを考慮します。さらに、これらのコードごとにカスタム{throw new exception}を記述している場合、例外ごとに1つのコードしか割り当てられません。すべてがスローされると、いつでもすべての 'description'がスローされます例外が発生します。 – Milee
さらに見栄えを良くするために、これらの例外をすべて別のクラスに記述し、このクラスのスイッチケースを使用することをお勧めします。実際にtry/catchを使用して実際のコードを駄目にすることはありません:) – Milee