質問: MVC3エラーが発生するレベル 私はMVC3を利用しているウェブサイトを持っています。私はn階層アーキテクチャを持っており、どのレベルでエラーを捕捉するのが最善であるのか不思議です。 isntanceのために私はStudentsテーブルを持っているとしましょう。私はStudentRepositoryを以下のような関数で持っています: StudentRepository.GetHightestGrade(studentId) 私はRepositry関数にtry/catchブロックを持たせるべきですか?またはtry/catchをActionResult関数に直接置くべきですか?または、私はビジネスクラスでの追加のサービスを提供することになりますし、私のActionResult関数は Business.GetHighestGrade(studentId)とその関数は単純にtry/catchを持ち、Repository関数を呼び出します。
回答: それはあなたがキャッチで何をしたいかによって決まります。ただ静かに失敗したいのですか?エラーをログに記録しますか?何かが間違っていることをユーザーに知らせるためのビューを返すのですか? ユーザーに通知したい場合は、コントローラーでそれをキャッチします。 ログに記録し、レポでキャッチし、いくつかのログサービスを使ってレポをログに記録させたい場合は、エラーをキャッチしてログに記録するサービスを使用することもできますが、それはオーバーキルになる可能性があります。