1,webform程序的页面有成千上百个。 可是由于程序员都忘了写try{}catch{}来捕捉错误。当然我们可以在每个程序里加上。但是现在客户要求改动最少,让程序出错后能定向到一个错误页面去。 不至于在程序运行时出错,给用户显示不友好的界面。请问怎么解决?
2,如果这个程序是由winform做的, 也同样有成千上百个界面的时候怎么解决?

解决方案 »

  1.   


    <customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
    </customErrors>
      

  2.   

    写一个页面基类让所有页继承,基类继承web.ui.page在里面重写ONinit加上
     this.Error += new System.EventHandler(this.PageBase_Error);
    自己定义的出错控制就可以了
      

  3.   

    第二个啥意思???
    成千上万个界面咋解决??
    解决什么??
    是跳错误页的话
    可以用try catch
    然后再跳窗体的时候传参
    每个不同的参数可以显示不同的错误信息
      

  4.   

    Page_load里加个try,catch...让它 跳转到指定页...winform嘛,这个好久没做了。我去看看。
      

  5.   

    上面的应该不得行吧  他的错误都用Try{} Catch{}捕捉
    最好在 Global.asax 里的void Application_Error(object source, EventArgs e) 这个来处理
      

  6.   

    第二个在应用程序入口加try catch就行了.net程序错误层层上抛,你在入口那里处理就行了当然这里没有考虑多线程情况。PS:发布的程序尽量少用try 
      

  7.   

    第一个在web.config里改
    或者在iis的虚拟目录的属性里改
    第二个不会
      

  8.   

    第一种前边的都说了<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">  </customErrors>第二种
    try
    {
       Application.Run(new Form1());
    }
    catch (Exception ex)
    {
       MessageBox.Show(ex.Message);
    }