捕捉Windows服务与WinForm的全局异常是有差别的。
1.先看Windows服务的:
public partial class MonitorOnServer : ServiceBase
{
public MonitorOnServer()
{
InitializeComponent();
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
try
{
Exception ex = e.ExceptionObject as Exception;
Log.Instance.AddLog("来自“MonitorOnServer”的全局异常。" + ex.Message + "详细信息如下:"
+ Environment.NewLine + "[InnerException]" + ex.InnerException
+ Environment.NewLine + "[Source]" + ex.Source
+ Environment.NewLine + "[TargetSite]" + ex.TargetSite
+ Environment.NewLine + "[StackTrace]" + ex.StackTrace);
Log.Instance.WriteLog(strLogPath);
}
catch { }
}
protected override void OnStart(string[] args)
{ }
protected override void OnStop(string[] args)
{ }
}
2.关于WinForm的全局异常捕捉,请链接http://hyshang.blog.163.com/blog/static/4594582220098745310250/