using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace LYFZ.ComponentLibrary { public partial class frmExceptionError : Form { public frmExceptionError() { InitializeComponent(); this.Shown += frmExceptionError_Shown; } string _VersionNumber = ""; public string VersionNumber { get { return _VersionNumber; } set { _VersionNumber = value; } } public void SetErrorInfo() { int errCode = System.Runtime.InteropServices.Marshal.GetLastWin32Error();//获取错误码。 string ErrorMessages = LYFZ.WinAPI.Win32.GetSysErrMsg(errCode); this.lbErrorMsg.Text = string.Format("程序在运行时发生错误,建议您关闭后重试,也可以把错误报告给开发工程师以便修复此问题!\r\n出现应用程序未处理的异常:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + VersionNumber + "\r\n异常类型:{0}\r\n异常消息:{1}", errorTypeName, errorMessage); this.txtErrorInfo.Text = this.lbErrorMsg.Text + "\r\nLastWin32Error代码 " + errCode.ToString() + ":"+errorMessage+"\r\n" + errorStackTrace; } void frmExceptionError_Shown(object sender, EventArgs e) { SetErrorInfo(); } string errorTypeName = ""; /// /// 异常类型 /// public string ErrorTypeName { get { return errorTypeName; } set { errorTypeName = value; } } string errorMessage = ""; /// /// 异常消息 /// public string ErrorMessage { get { return errorMessage; } set { errorMessage = value; } } string errorStackTrace = ""; /// /// 堆栈信息 /// public string ErrorStackTrace { get { return errorStackTrace; } set { errorStackTrace = value; } } private void buttonClose_Click(object sender, EventArgs e) { this.Close(); } } }