XmlReader.GetAttribute()不会抛出异常

时间:2012-01-26 13:08:44

标签: c# .net xml

如果找不到属性,为什么System.Xml.XmlReader.GetAttribute(String)不会抛出异常?!乍一看似乎很荒谬和危险。

2 个答案:

答案 0 :(得分:3)

因为没有找到指定属性的“例外”。如果它是可选的怎么办?那么您是否会依赖抛出的异常来控制程序流程?

这不是一个好习惯 - 你应该在使用之前检查null的返回值。

答案 1 :(得分:1)

不应将异常用于控制流。正如Chris McAtackney所说,如果该属性是可选的,该怎么办?当由于缺少属性而捕获异常时,使用控制流的异常会增加开销。检查空字符串会更好,更有效。