それは私のパラドックスです。私はすべての例外を処理できますか、それを見つけて解決することができます。このサンプルはtry catchを使用するための良いサンプルですか?サジェストは何ですか?
私はwindowserviceを持って、それはこのようないくつかの方法があります。
はこの悪いサンプルですか?
public void BeginOperation()
{
try
{
DoSync();
}
catch (Exception x){
Log(x.message)
Show(x.message);
}
}
public void DoSync()
{
try
{
GetSampleDatatable();
ApplyDiff();
CommitDiff();
}
catch (Exception x){
Log(x.message)
throw x;
}
}
DataLayerサンプル
public DataTable GetSampleDatatable()
{
OracleDataTable myDataTable;
try
{
myDataTable = new OracleDataTable(sqlStr, this);
myDataTable.FetchAll = true;
myDataTable.Active = true;
}
catch (Exception x)
{
this.ErrorMessage = x.Message;
throw x;
}
return myDataTable;
}
ここで最も大きな問題は、「例外をキャッチ」するだけで常にすべての例外をキャッチしていることです。どんな例外が起こったのか正確に考えてみてください。それでは、どのサンプルを捕まえるべきかが明らかになります。 – Andrei
このサンプルの例外処理は何ですか、それについてすぐに教えてください。 – Mennan
'スローx; 'それはあなたのスタックトレースを混乱させます!ちょうど '投げ; 'を使ってください。重要な点は次のとおりです。それに対処できるときにのみ例外をキャッチします*。問題を処理できない場合は、問題を処理しないでください。できるだけ泡立たせましょう。 – mason