我在 dll
中有一个方法 private static void SaveXmlStringToXmlFile(string xmlString, string xmlFileFullPath)
{
XDocument.Parse(xmlString).Save(xmlFileFullPath);
}
我知道Parse
和Save
会抛出几个例外。无论如何,我不知道如何处理这些异常,因为它是一个DLL。
在代码周围添加try/catch throw;
。这个代码不是多余的吗?
最佳做法是什么?
编辑:让我们假设dll的用户对xmlString
可能没有任何影响。
答案 0 :(得分:2)
我认为,当涉及异常时,在另一个程序集(例如DLL)中的代码与条目程序集中的代码之间没有特别的区别。
你应该把每个异常的try / catch放在有足够信息处理异常的地方(并从中恢复,如果你想做的话)。与任何其他异常一样,您应该根据异常的类型和可以抛出的嵌套级别来解释这一点,而不是它所源自的程序集。
我通常使用的经验法则是:如果SaveXmlStringToXmlFile
失败,其调用者是否会继续发生什么事情?如果不是(也就是说,如果调用者中的以下语句应该被放弃),那么不要将try / catch放在SaveXmlStringToXmlFile
中,而是更高。