直接Throw出来,然后在具体页面里捕获错误并显示。
要转到指定的错误处理页面应该在Web.config里设置customErrors的defaultRedirect属性。

解决方案 »

  1.   

    try
    {
    //you code
    }
    catch(Exception e)//error run 
    {
    //在这,你可以将e.Message.ToString()作为一个参数传递给Error.aspx
    //例子:Response.Write("Error.aspx?ErrorMessage="+e.Message);
    }
      

  2.   

    用blackcatiii(ljh)的第二种方法较好!
      

  3.   

    Global Exception Handling with ASP.NET
    http://webdeveloper.earthweb.com/webjs/article.php/961301
      

  4.   

    这样试试
    定义你自己的异常类
    在公用类中捕获到异常后
    就重新抛出自己的异常类在上层调用中
    捕获到自定义的异常后
    就重定向到你的Error.aspx中---
    或者,你如果全部的错误信息都自己处理的话
    可以在Web.Config
    修改
    <customErrors mode="RemoteOnly" defaultRedirect="Error.aspx">
       <error statusCode="404" redirect="NotFound.aspx"/>
    </customErrors>
      

  5.   

    参考
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpgenref/html/gngrfcustomerrorssection.htm
      

  6.   

    谢谢saucer(思归, MS .NET MVP) ,我又学到一新的方法.
      

  7.   

    重载Page类的OnError()方法protected override OnError(EventArg e)
    {
      
      base.OnError(e);
      Response.Redirect("Error.aspx?message=" + Server.GetLastError().Message);
    }
      

  8.   

    自己举一返三吧:public class Global : HttpApplication
    {
    private const string LOG_SOURCE = "MY APP"; protected void Application_Error(object sender, EventArgs e)
    {
    Exception x = Server.GetLastError().GetBaseException();
    EventLog.WriteEntry(LOG_SOURCE, x.ToString(), EventLogEntryType.Error);
    }
    }