0

まず第一に、私は今混乱しており、自分自身を適切に説明できないかもしれません. 私が試してみましょう。UIレイヤーaspxページから呼び出されるすべてのメソッドを含むビジネスレイヤークラスがあります。通常、メソッドが例外をスローした場合、UI レイヤーでそれをキャッチし、特定のメッセージを表示します。そうでない場合は、ビジネスレイヤーでキャッチしてエラーのみをログに記録することがあります。これで、外部 API (VISA など) とやり取りする 3 番目のプロジェクト/レイヤーを作成し、そのメソッドをビジネス レイヤー メソッドから呼び出します。API呼び出しの後、json応答、エラーコード、説明などを含む特定のオブジェクトを返します。エラー(例外)の場合、ユーザーにメッセージを表示する必要があります。ビジネスレイヤーでそれを行うにはどうすればよいですか(最良の方法. 成功した場合は、もちろんエラー文字列または空の文字列を返すことができますか?または、UI レイヤーから API を呼び出す必要がありますか? これは、API レイヤーによって送信される応答オブジェクトです。エラーを表示するか、その内容に基づいて続行します。

public class ResponseContainer
{
    public bool Success { get; set; }
    public string JSONString { get; set; }
    public string ErrorCode { get; set; }
    public string ErrorDescription { get; set; }
    public bool? isVISAError { get; set; }
}
4

1 に答える 1

0

だれも私を導くことができないので、これが私がしたことです。2 つのカスタム例外クラスを作成しました。ビジネスとSQLの例外。ビジネスレイヤーでSQL例外をキャッチし、新しいビジネス例外をスローします。すべてのビジネス例外は、UI レイヤーの呼び出しイベントでキャッチされます。ビザエラーの場合、説明とキャッチを使用して新しいビジネス例外をスローし、シンプルなラベル フィールドに表示しました。これにより、コードの流れを変更したり、関数の戻り値を確認したりする必要がなくなりました。
これがいくつかの助けになることを願っています。誰かがより良い解決策を持っている場合は、私に知らせてください

于 2013-04-06T10:16:42.210 に答える