1

以下のような検証とロジックでエラーをスローするのがベストプラクティスかどうか疑問に思っていました。これらをコントローラーのOnExceptionメソッドでキャッチし、Ajax経由でJSONとしてクライアントに送り返しています。このような例外をスローしても大丈夫ですか?

public void Update(EditTeacherModel model)
        {
            var entity = _teachersRepository.FindBy(model.Id);

            if(entity == null)
                throw new NatGeoNotFoundException("Teacher");


        }
4

3 に答える 3

2

このための特別でクリーンな例外タイプがある限り、これが問題になる理由はわかりません。例外は、ネストされた複数の呼び出しスタックフレームから抜け出すための便利な方法です。

ただし、 CLRでは例外が非常に遅いことに注意してください。

于 2012-04-19T00:21:01.323 に答える
1

例外は高額です。これらは、アプリケーションの予期しない動作を目的としていると思います。

検証エラーは決して例外をスローするべきではないと思います。

于 2012-04-19T07:13:47.473 に答える
1

例外にはコストがかかります。また、カスタム/ビジネスエラーを処理するためのベストプラクティスは、適切なエラーコードを返すことです。

例外処理のベストプラクティスについては、こちらで説明しています:http: //www.codeproject.com/Articles/9538/Exception-Handling-Best-Practices-in-NET

ここでも説明されています:.NETがカスタム例外をスローする

于 2012-04-19T00:25:46.293 に答える