2

2 種類のアプリケーションで使用されるデータ アクセス層を構築しています。

  1. エラーの詳細を気にしないアプリケーション。例外が発生した場合、ほとんどの場合、ログに記録されるだけで、ユーザーはそれに気付かない可能性があります。

    例:シンプルなバーコード在庫取りアプリ。ユーザーがバーコードを入力し、データベースへの接続が利用できる場合、システムは追加情報を提供します。利用できない場合は、バーコードだけがローカルに記録されます。この場合、詳細な例外処理は必要ありません。

  2. 例外の詳細が気になるアプリケーション。

両方のカテゴリに対応するために DAL を構築する場合、どのような戦略に従う必要がありますか?

現在、最初のカテゴリからアプリケーションを構築しています。DAL メソッドで行ったのは、例外をプレゼンテーション レイヤーまでバブルアップさせることだけです。プレゼンテーション レイヤーにはtry..catch、ロギングを簡単に処理するためにいくつかのブロックがあり、ユーザーはエラーに気付きません。

4

1 に答える 1

3

エラー処理とは、コードの知っている部分から、知る必要のある人に情報を取得することです。DALは、たとえばSqlException、SqlCommand、およびSqlParametersコレクションのトレースをプリティ印刷する方法を知っています。ただし、UIは、例外の原因となった呼び出しスタック全体を認識しています。ユーザーはおそらくその情報をどう処理するかわからないので、開発者への電子メールやデータベースへのログインなど、別のチャネルにログインする必要があります。

エラーロガーを作成している場合は、ライブラリのテストとして実際のアプリケーション(またはいくつかの実際のアプリケーション)を使用することもお勧めします。たとえば、エラーロガーをcodeplex上のさまざまなアプリに接続して、バグのトラブルシューティングの問題点を確認したり、ドッグフーディングを試してエラーロガーを使用してエラーをログに記録したりすることができます。

于 2012-12-03T21:21:19.843 に答える