2

を使用してASP.NET/C#います。

を使用してデータベース内の情報を更新する例を次に示しますlambda expression

try
{
    using (var db = new DataClasses1DataContext())
    {
        var logSubGroup = db.sys_Log_Account_SubGroups
             .SingleOrDefault(subGroup => subGroup.cSubGroupName.Equals(subGroupName));
        logSubGroup.cRejectedBy = rejectedBy;
        logSubGroup.dRejectedOn = DateTime.Now;
        logSubGroup.cAuthorizedStatus = "Rejected";
        db.SubmitChanges();
    }
}
catch (Exception ex)
{
}

ご覧のとおり、内部では何もしていませんcatch() block

私はこれがひどい使い方であることを知っていtry catchます。

誰でもtry catch block正しい方法で使用するのを手伝ってもらえますか。

の中に何を入れる必要があるのか​​ 、私はまったくわかりませんcatch block

どんな提案でも大歓迎です。

4

4 に答える 4

3

特定の例外をキャッチする特定の理由がない限り、try-catch ブロックを使用しないでください。

代わりに、グローバルな例外処理メソッド ( ASP.NET ではApplication_Error ) の 1 つを使用して、未処理の例外をグローバルにキャッチし、エラー メッセージを表示して、エラーをログに記録します。

于 2012-08-03T05:48:23.803 に答える
3

原則として、例外をキャッチするコードが問題を解決できない場合は、例外をキャッチする必要はなく、正しく実行し続けます。あなたが提示したようなコードで、catch ブロック内で実行できるアクションを特定して、プログラムが実行を継続できると信頼できる状態にプログラムを復元できますか? そうでない場合は、例外がスタックにバブルアップするようにします。

于 2012-08-03T05:50:03.360 に答える
2

理想的には、アプリケーションがエラーから回復できるようにエラーを処理する必要がありますが、少なくともログに記録する必要があります。決して飲み込んではいけません。また、予期しない、または処理できない例外を処理するべきではありません。たとえば、ファイルを開くときに、警告を表示してユーザーに別のファイルを選択させるなど、FileNotFoundException が予期され、処理される可能性があります。

于 2012-08-03T05:49:53.923 に答える
1

理論的には、catch ステートメント内でどのような例外が発生するかを決定するのはあなた次第です。もちろん、開発段階にある場合は、この方法で完全に間違っているわけではありません。例外が発生する可能性があり、修正する必要がある一般的に、例外またはエラーがキャッチされた場合に発生するメッセージまたはアクションを含める必要があります。アクションがうまく実行されなかったことをユーザーに通知できますが、理想的には何がうまくいかなかったのかをユーザーに知らせるため、この場合はエラー処理を改善する方法があります

于 2012-08-03T05:52:22.903 に答える