2

私はdllにメソッドを持っています

    private static void SaveXmlStringToXmlFile(string xmlString, string xmlFileFullPath)
    {
        XDocument.Parse(xmlString).Save(xmlFileFullPath);
    }

私はそれを知ってParseおり、Saveいくつかの例外をスローできます。とにかく、それはdllであるため、これらの例外を処理する方法がわかりません。

コードを a で囲みtry/catch throw;ます。これは現在のコードに冗長ではありませんか?

ベストプラクティスは何ですか?

編集: dll のユーザーは、何xmlStringができるのかに影響を与えないと仮定しましょう。

4

1 に答える 1

2

例外に関しては、別のアセンブリ (DLL など) にあるコードとエントリ アセンブリにあるコードの間に特別な違いはないと思います。

各例外の try/catch は、その例外を処理するのに十分な情報がある場所に正確に配置する必要があります (やりたい場合は、そこから回復します)。他の例外と同様に、これについては、発生元のアセンブリではなく、例外の種類とスローできるネスト レベルに基づいて判断する必要があります。

私が通常使用する経験則は次のとおりです。SaveXmlStringToXmlFile失敗した場合、その呼び出し元は何も起こらなかったように続行する必要がありますか? そうでない場合 (つまり、呼び出し元の次のステートメントを破棄する必要がある場合)、try/catch を に配置しないでくださいSaveXmlStringToXmlFile

于 2013-05-28T07:04:39.360 に答える