gpt4 book ai didi

.net - 加载 .NET WinForm 应用程序 user.config 文件时如何捕获异常?

转载 作者:行者123 更新时间:2023-12-04 21:26:05 24 4
gpt4 key购买 nike

有时在使用默认配置系统的 .NET (2.0) WinForm 桌面应用程序中,user.config文件将损坏并且无法再加载(当配置系统尝试加载它时,它会抛出 System.Xml.XmlException )。

抛开“为什么文件首先损坏”的问题(可能是宇宙射线、硬盘问题或其他您无法控制的问题),问题就变成了“如何才能捕捉到这个异常并且用它做些有意义的事吗?

Microsoft's Connect site has a report on this sort of problem .不幸的是,他们的报告不是很有帮助。

是否可以捕获源自默认配置系统加载程序本身的异常?或者您是否必须推出自己的配置系统才能捕获此类异常?

最佳答案

原来你可以捕获这个异常。我需要的提示来自这个问题:

C# - User Settings broken

就我而言,(WinForms 应用程序),我在父(启动)表单中的异常处理程序捕获了此异常。但我想你可以使用 MyApplication_UnhandledException ApplicationEvents 中的处理程序也是。底线是,您需要某种高级别的“未处理异常”处理程序来捕获它。

此外,您可以查看异常的 InnerException 并查看它是否属于 System.Configuration.ConfigurationErrorsException 类型。 .如果是,那你可以看看.FileName此 InnerException 的属性以获取 user.config 文件的完整文件名。

一旦你有了这个,你可以对它做点什么——尝试检查它的内容,看看它有什么问题,或者(最坏的情况)删除它并重新启动应用程序,以便使用所有默认设置重新创建它。

正如我之前所说,这是一个非常罕见的异常,可能是由于系统突然关闭或其他不可控事件(例如停电)引起的。不过,很高兴最终能够对此有所作为。

关于.net - 加载 .NET WinForm 应用程序 user.config 文件时如何捕获异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3071651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com