XMLファイルを解析するプロセスがあります。カスタム例外によるプログラムフロー
これはPAckageクラスで発生しています。
パッケージのクラスは無効な状態にオブジェクトを設定し、私はパッケージに渡されるfilitemを示しています簡単にするためにパッケージクラス
を発生したエラーに関する詳細な情報をキャプチャする委任を持っている...は、
すなわち `パッケージ内
foreach(var package in Packages)
{
try
{
package.ProcessXml(fileitem.nextfile);
}
catch (CustomeErrorException ex)
{
Logger.LogError(ex)
}
}
は私の検証は、この
のようなものを見てこの検証ではvar Album = xml.Descendants()
.Select(albumShards => new Album {
Label = (string)albumShards.Descendants(TempAlbum.LabelLoc).FirstOrDefault() == "" ?
FailPackage("Error on label Load",Componets.Package,SubComp.BuildAlbum) : (string)albumShards.Descendants(TempAlbum.LabelLoc).FirstOrDefault()
私は「」ラベルに返された場合...その場合は、エラー情報をFailpackageを呼び出し、含むのtry catchブロック
を介して捕捉される例外protected override void FailPackage(string msg, LogItem logItem)
{
Valid = ProcessState.Bad;
Logger.LogError(msg,logItem);
throw CustomErrorException(msg, Logitem);
}
を作成するかを確認し
私の懸念は、プログラムフローの例外を使用していることです。この問題に近づくにはどうすればよいのでしょうか、これは有効なパターンです。
ラベルが空でどのくらいの頻度? – Amy
それはエラーではない... – HoopSnake