能不能捕捉到所有 未捕捉的异常? 能不能获取发生这个异常的窗口 ?然后做一个统一的处理?呵呵

解决方案 »

  1.   

    可以!主要是捕获Application.ThreadException异常:public static void Main() 

       Application.ThreadException += new EventHandler(DebugError); 
       Application.Run(new frmMain());//主窗口
    }然后写一统一处理事件:
    private void DebugError(object sender, Threading.ThreadExceptionEventArgs e) 

     MessageBox.Show("程序发生了未处理的严重错误!\n\n" + e.Exception.Message + "\n方法名:" + e.Exception.TargetSite.Name + "\n调用对象:" + e.Exception.Source + e.Exception.StackTrace, "运行错误", MessageBoxButtons.OK, MessageBoxIcon.Stop); //你可以做个窗体来处理这些错误消息,比如加个“发送错误报告”、“退出”、“继续”等按钮。
    }
      

  2.   

    3tzjq(永不言弃)谢谢您的指教  不知道能不能获取发生这个异常的窗口 ?
    然后将那个窗口强行关闭掉?
      

  3.   

    做一个BasePage类继承page基类
    重载OnError方法
    在这个事件里写自己的错误处理方法即可,
    然后所有webform继承该类
      

  4.   

    niss()  偶的标题是 在Windows应用中 呵呵 谢谢!
      

  5.   

    建议楼主看看微软的 Application Block SDK
      

  6.   

    这个运行错误窗口应该是.Net Framework 内部已封装的一个组件,无法继承它。---然后将那个窗口强行关闭掉?其实你要的这个目的就是不报错吧?可以在DebugError中不做任何处理就行了啊!
      

  7.   

    Form.ActiveForm 当前激活窗口。
    在static void Main()函数中捕捉异常。
      

  8.   

    可能偶没有说明白吧 我不是说那个窗口我是说 假如Form1 form = new Form1();
    form.Show()然后在 form 里面出错了我如何获得这个 form 的引用啊
      

  9.   

    http://www.cnblogs.com/instinct/articles/85427.html