日期:2014-05-18  浏览次数:20905 次

windows应用程序的全局异常处理问题,求高手帮助,在线等!
一个实践项目,异常的基类为BaseException
DataAccessException、InvalidUserException、HasNotPermissionException、BussinessApplicationException都继承BaseException
而ProjectNotFindException、ProjectDeleteException、ProjectSaveException等都继承BussinessApplicationException

ProjectNotFindException、ProjectDeleteException、ProjectSaveException、DataAccessException、InvalidUserException、HasNotPermissionException都有三个构造函数,例如

class ProjectNotFindException : BussinessApplicationException
  {
  public ProjectNotFindException() : base()
  {
  }
   
  public ProjectNotFindException(string message) : base(message)
  {
  }
   
  public ProjectNotFindException(string message, Exception inner): base(message, inner)
  {
  }
  }

这些类都调用一个全局异常处理类GlobalExceptionHandler,其中有一个HandleException方法
而别人只需要在try中写入可能出现异常的语句,并在catch中throw出相应的异常就可以,然后我来处理,请问如何实现?

求高手相助,合适马上给分!在线等!


------解决方案--------------------
我常用的方法:
[STAThread]
static void Main(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += new ThreadExceptionEventHandler(ThreadException);
Application.Run(...);
}

private static void ThreadException(object sender, ThreadExceptionEventArgs e)
{
异常处理
}

------解决方案--------------------
winform 的程序,可以考虑挂接这个事件 :

Application.ThreadException
------解决方案--------------------
探讨
我常用的方法:
[STAThread]
static void Main(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += new ThreadExceptionEventHandler(ThreadException);
Application.Run(...);
}

private static void ThreadException(object sender, ThreadExceptionEventArgs e)
{
异常处理
}