アムはちょうどここに私のコードで、どのように私のシナリオを回避するために思っていboolean値がfalseまたは条件が値を返さない場合、Catchを呼び出す方法は?
try
{
bool b;
foreach (string file in files)
{
#region donloadfiles
if (b = file.Contains(story))
{
try
{
logger.Info("calling xml creation Method");
baseMeta(story, XML);
logger.Info("XML created");
}
catch (Exception ex)
{ logger.Error(ex.Message); throw; }
logger.Info("calling Download Method");
Download(file, story, xml, program);
logger.Info("Download Method processed successfully");
}
#endregion
}
}
catch (Exception ex)
{ logger.Error(ex.Message); throw; }
約束したように、ここで私の主な方法は、catchブロックにしてみてください含まれている
try
{
//update the status here in DB
Status = "Closed";
Update(status);
}
catch (Exception ex)
{
Status = "Failed";
Update(status);
break;
}
私は、ディレクトリ「などを持っている:Cを: \ "私のgetlistメソッドはすべてのレコードを取得してforeachループに渡します" foreach(ファイル内の文字列ファイル) "次に条件があります
if(b = file.Contains(story))ifファイルは "ストーリー"の名前を持っているいくつかのロジックinside.this thi ngはうまくいく。
ファイルのどれもが一致しない場合、強制的にキャッチを呼び出してメインキャッチにスローする必要があります。メインキャッチでロジックを更新しています。
私はこのシナリオを回避する方法を教えてください。ファイルのどれもが一致されていない場合は、その後、私は強制的に漁獲量を呼び出し、メインキャッチに投げるために を持っている、中にいくつかの ロジックの更新をやって何をしようとしています事前
キャッチには依存しないでください。パフォーマンスでは非常に貧しいので。 CLRは、例外を発生させ、それを処理/捕捉する上で、より多くの仕事をしなければなりません。代わりに、キャッチに応じてロジックを変更してください。 このようにしたい場合は、throw(..)文を使用します。 – Zenwalker