用.net winform开发的桌面程序,在客户的电脑上一运行就自动闪退,抛出异常,异常问题是调用目标发生异常。很难直接找到根本原因。
解决方案:在Program.cs类中加入如下代码
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Exception ex = e.ExceptionObject as Exception;
MessageBox.Show(ex.Message + Environment.NewLine + ex.InnerException.ToString(), "严重错误1", MessageBoxButtons.OK, MessageBoxIcon.Error);
CommonFunctions.HandleUnknownException(e, ex);
}
private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
Exception ex = e.Exception as Exception;
MessageBox.Show(ex.Message + Environment.NewLine + ex.InnerException.ToString(), "严重错误2", MessageBoxButtons.OK, MessageBoxIcon.Error);
CommonFunctions.HandleUnknownException(e, ex);
}
运行后,弹出了异常信息的提示:
这样一来就可以直接跟踪找到问题根源。