【问题标题】:Get the Crash Info from user[.NET]从用户 [.NET] 获取崩溃信息
【发布时间】:2011-05-13 16:23:35
【问题描述】:

当我的应用程序崩溃时,我想从用户那里获取崩溃信息,所以我想知道如何从用户那里获取崩溃信息?以及当主应用程序崩溃时如何处理异常?

ps.就像那个窗口:“你想把崩溃信息发送给微软吗?”

【问题讨论】:

    标签: .net


    【解决方案1】:

    您需要为应用程序捕获所有未捕获的异常。

    AppDomain.CurrentDomain.UnhandledException 事件处理程序允许您为所有未捕获的异常添加事件处理程序。除了您在此事件中收到的例外情况外,您可以显示所需的对话框。

    请参阅Why is .NET exception not caught by try/catch block? 之类的文章,了解如何捕获所有异常。

    【讨论】:

    • “天哪!”,当我读到你的第一句话时,这是我的第一个想法。您正在寻找的是(如前所述)AppDomain.CurrentDomain.UnhandledException,将处理程序连接到它,您可以在应用程序中捕获 每个 异常。还要针对Application.ThreadException 连接一个处理程序,然后您会从另一个线程中获得每个异常...再想一想,您的链接确实很好地描述了这一点,无需将所有内容封装到Try { ... } catch 中。
    • 你是对的。措辞可能并不完美。我所说的try/catch 是AppDomain.CurrentDomain.UnhandledException 使用的机制。我会重写我的答案。谢谢。
    • @Pieter:我认为这只是陈述不当,但不确定。无论如何+1。
    • -1。并非所有异常都可以在托管端捕获,通常是低级 .NET 错误。
    • @Lex Li - 你的意思是像StackOverflowException?是的,你是对的,他们不能被抓住。有什么建议吗?很乐意更新答案。
    猜你喜欢
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2020-06-17
    • 2010-10-25
    • 1970-01-01
    相关资源
    最近更新 更多