【发布时间】:2019-11-30 00:33:12
【问题描述】:
我有一个函数可以在 try 和 catch 语句中解析 XML 文件,因此每当发生错误时,我都会捕获 XmlException 类型。 问题是我想捕获异常并仅在发生某种异常时返回错误。
我尝试解析不同类型的错误格式的 XML,我注意到在抛出的 XmlException 对象中,唯一不同于不同异常的是消息、res 和 restring 属性。 但是 res 和 restring 不可访问,它们是我实际查看异常是否为 Xml_BadNameChar 错误的唯一方法。
我可以检查消息属性,但我认为这不是最优雅的方式
【问题讨论】:
-
您认为您可以包含异常消息(以及您掌握的有关其发生原因的任何信息)以提供更多背景信息吗?我不认为这个异常有一个 InnerException 可以访问以获取更多信息?
-
与其等待异常,您能不先寻找您不会告诉我们的“错误格式”吗?
-
我有两篇关于异常处理的文章,我喜欢链接:blogs.msdn.microsoft.com/ericlippert/2008/09/10/… | codeproject.com/Articles/9538/… |不幸的是,您不能依赖该消息。在本地化和修复错误之间,可能出错的地方太多了。除非他们提供子类或属性来确定具体原因,否则我认为您没有可靠的选择。