本文主要介绍如何在C#程序运行出错时,自动执行程序重启。
程序异常捕获的方法网上已经有很多相关的介绍,是比较通用有效的做法。但是程序自动重启方法却很难找到有效的,若当前程序中有常驻线程在运行,则无法有效的执行重启。
本文所采用的自动重启方法如下所示,已自验证3000次并已商用:
static void AppRestart()
{
Application.Restart();
Environment.Exit(0);
}
完整异常处理及重启代码如下:
using System;
using System.Threading;
using System.Windows.Forms;
// D:\Tencent\WXWork\3.1.18.6007\daa\x64
namespace WindowsFormsApp1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//处理未捕获的异常
Application.