日期:2014-05-17  浏览次数:20719 次

WINFORM中有没有集中处理异常的类?
WINFORM中有没有集中处理异常的类?
想方便集中处理或记录,DELPHI中有个TApplictionEvents,它的实例能收集整个应用程序的异常信息。
NET中有吗?或者有何方法?

------解决方案--------------------
winform中,可以自己定义一个异常处理类,每次出错误,都通过委托的方式,调用自己的异常处理



------解决方案--------------------
启动的时候在Main中写Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
然后在Application_ThreadException里面统一处理一些异常

------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace CodingMouse.CMCSharpSDK.UI
{
static class Program
{
/// <summary>
/// 当前应用程序
/// </summary>
static string applicationName = "CMCSharpSDK";

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// 注册全局线程异常处理事件侦听
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.Run(new Forms.frmLogin(applicationName));
//Application.Run(new Forms.frmConnectionConfig());
}

/// <summary>
/// 全局线程异常处理事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
// 显示全局异常提示
Messagebox.Show(ex.message);
}
}
}