我正在像这样获取 RSS 提要:
SyndicationFeed rss = SyndicationFeed.Load(XmlReader.Create(textBox1.Text));
XmlReader.Create()
在这种情况下最多可以抛出 4 个与参数为 null、404 错误等相关的异常
我应该在调用该行之前尝试验证 Uri(确保它不为 null、404、正确的文档类型等)还是应该只处理异常?我知道我已经读过很多次关于 SO 的内容,即异常应该用于真正特殊的情况,我同意这似乎不满足该先决条件,但处理异常似乎更容易。
最佳答案
复选框的 Text
属性永远不会为 null,因此您可以跳过该复选框。手动检查所有简单且与流程无关的情况,例如字符串为空和 Url 正确,并将更多模糊的特定于 XML 的内容留给 Create
方法中的验证。所以答案是将两者结合起来。
此外,让我再次引用 blog post埃里克·利珀特 (Eric Lippert) 关于异常(exception)情况的文章。在您的情况下,可能会发生令人烦恼的异常和外生异常,因此您可能应该捕获它们。但请确保不会发生那些愚蠢的事情。
关于c# - 捕获异常、验证输入或两者兼而有之?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227431/