您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在.NET应用程序中捕获所有异常/崩溃

如何在.NET应用程序中捕获所有异常/崩溃

与其他人发布的内容相反,捕获所有异常没有错。重要的是要妥善处理它们。如果您有堆栈溢出或内存不足的情况,则应用程序应为它们关闭。另外,请记住,OOM条件会阻止您的异常处理程序正确运行。例如,如果您的异常处理程序显示一个带有异常消息的对话框,则如果您内存不足,则对话框显示的空间可能不足。最好将其记录并立即关闭

就像其他人提到的那样,您可以处理UnhandledException和ThreadException事件,以收集可能会错过的异常。然后只需在您的主循环中抛出一个异常处理程序(假设有一个winforms应用程序)。

另外,您应该注意,并非总是因内存不足而抛出OutOfMemoryExceptions。一个OOM条件可以触发代码中或框架中的各种异常,这些异常与真正的基础条件已耗尽内存这一事实没有任何关系。当根本原因实际上是内存不足时,我经常会看到InvalidOperationException或ArgumentException。

dotnet 2022/1/1 18:19:52 有320人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶