You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.0 KiB
100 lines
3.0 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace PaintingPC
|
|
{
|
|
static class Program
|
|
{
|
|
public static string IP;
|
|
public static string PicturePath;
|
|
|
|
/// <summary>
|
|
/// 应用程序的主入口点。
|
|
/// </summary>
|
|
[STAThread]
|
|
static void Main()
|
|
{
|
|
Application.EnableVisualStyles();
|
|
Application.SetCompatibleTextRenderingDefault(false);
|
|
|
|
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
|
|
|
|
//处理UI线程异常
|
|
|
|
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
|
|
|
|
//处理非UI线程异常
|
|
|
|
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
|
|
string pageView = ConfigurationManager.AppSettings["PageView"].ToString();
|
|
if(pageView == "喷涂质量看板")
|
|
{
|
|
Application.Run(new FrmQuality());
|
|
}
|
|
else if(pageView == "下悬挂链")
|
|
{
|
|
Application.Run(new FrmChainDown());
|
|
}
|
|
}
|
|
#region 系统异常处理
|
|
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
|
{
|
|
string str = GetExceptionMsg(e.Exception, e.ToString());
|
|
MessageBox.Show(str);
|
|
//LogManager.WriteLog(str);
|
|
}
|
|
|
|
|
|
|
|
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
|
|
{
|
|
string str = GetExceptionMsg(e.ExceptionObject as Exception, e.ToString());
|
|
MessageBox.Show(str);
|
|
//LogManager.WriteLog(str);
|
|
}
|
|
static string GetExceptionMsg(Exception ex, string backStr)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.AppendLine("****************************异常文本****************************");
|
|
|
|
sb.AppendLine("【出现时间】:" + DateTime.Now.ToString());
|
|
|
|
if (ex != null)
|
|
{
|
|
|
|
sb.AppendLine("【异常类型】:" + ex.GetType().Name);
|
|
|
|
sb.AppendLine("【异常信息】:" + ex.Message);
|
|
|
|
sb.AppendLine("【堆栈调用】:" + ex.StackTrace);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sb.AppendLine("【未处理异常】:" + backStr);
|
|
|
|
}
|
|
|
|
sb.AppendLine("***************************************************************");
|
|
|
|
return sb.ToString();
|
|
}
|
|
private static void ExceptionMonitor_ExceptionOver()
|
|
{
|
|
MessageBox.Show("系统遇到未知异常,即将重新启动。");
|
|
Process.Start(Application.ExecutablePath);
|
|
Process.GetCurrentProcess().Kill();
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|