发生异常时启动表单

时间:2010-10-31 22:20:41

标签: c# .net

我想要显示一个表单(表单有一个框,您可以在其中键入您正在执行的操作以发生错误等,以及一个发送按钮以向我的网站报告错误)当发生未处理的异常时。就像现在一样,表单显示但没有控件绘制(它们都是白框)然后我得到“Yaya.exe已经停止响应等等等等。”

在主线程中发生异常时,有没有办法保持表单?我已经尝试将表单放在它自己的主题中,但仍然没有帮助。我正在测试它的一个例外是一个启动后台工作的按钮,我一直按下它直到它抛出启动表单的异常

2 个答案:

答案 0 :(得分:2)

您可以将main()方法的内容包装在try / catch块中。显示您的错误报告表,记录您需要的内容等等,然后死亡。

这是一个很好的做法。它确实让用户感觉稍微更好地呈现出承认问题的东西,而不仅仅是崩溃。当然,我说略微更好,无论如何崩溃都很糟糕。

答案 1 :(得分:1)

这里有关于全局异常处理程序的一些信息:

Uncatchable .NET runtime 2.0 error - user machine - what next?

基本上,您必须注册两个事件,一个用于appdomain异常,另一个用于线程异常,然后为它们实现处理程序。