会不会因为你GetLastError() 里面把异常捕获了??

解决方案 »

  1.   

    我贴下代码! protected void Application_Error(object sender, EventArgs e)
            {
               
                    if (Server.GetLastError().InnerException == null)
                    {
                        return;
                    }
                    //获取系统错误信息,如果InnerException 不为null,也不用写else了,下面继续会得到那个最后的错误
                    string Msg = Server.GetLastError().InnerException.Message;
                    string ErrorDetail = Server.GetLastError().ToString();                //将错误信息写入日志                //转入错误处理页面
                    Response.Redirect("../error/error404.htm");
               
            }
      

  2.   

    我贴下代码! protected void Application_Error(object sender, EventArgs e)
            {
               
                    if (Server.GetLastError().InnerException == null)
                    {
                        return;
                    }
                    //获取系统错误信息,如果InnerException 不为null,也不用写else了,下面继续会得到那个最后的错误
                    string Msg = Server.GetLastError().InnerException.Message;
                    string ErrorDetail = Server.GetLastError().ToString();                //将错误信息写入日志                //转入错误处理页面
                    Response.Redirect("../error/error404.htm");
               
            }Server.GetLastError这个方法直接返回的就是一个Exception对象,试着 在Application_Error事件中直接把 Server.GetLastError().Message写入日志文件中看看是什么错误
      

  3.   

    我贴下代码! protected void Application_Error(object sender, EventArgs e)
            {
               
                    if (Server.GetLastError().InnerException == null)
                    {
                        return;
                    }
                    //获取系统错误信息,如果InnerException 不为null,也不用写else了,下面继续会得到那个最后的错误
                    string Msg = Server.GetLastError().InnerException.Message;
                    string ErrorDetail = Server.GetLastError().ToString();                //将错误信息写入日志                //转入错误处理页面
                    Response.Redirect("../error/error404.htm");
               
            }Server.GetLastError这个方法直接返回的就是一个Exception对象,试着 在Application_Error事件中直接把 Server.GetLastError().Message写入日志文件中看看是什么错误您好,感谢您的回帖,是这样的,我开始表达的不太对,
    我再说下,
    Server.GetLastError().Message=“文件不存在。”
    我具体看了下Server.GetLastError(),报出来的错是404错误
    我不明白他有什么可404的,就连我浏览网站目录的时候,他都会报这个错。
      

  4.   

    这么巧!!
    这么不幸!!!
    话说我现在准备用web.config里面把错误页面配置出来,就得了
    日志什么的再说吧,我新建了个项目,只有在项目启动的时候,会走一遍,
    之后在看页面的时候就不会了,
    在访问网站目录的时候也会报这个错,不过问题不大。
    哎,也不知道现在这个问题是怎么出来的
      

  5.   

    我贴下代码! protected void Application_Error(object sender, EventArgs e)
            {
               
                    if (Server.GetLastError().InnerException == null)
                    {
                        return;
                    }
                    //获取系统错误信息,如果InnerException 不为null,也不用写else了,下面继续会得到那个最后的错误
                    string Msg = Server.GetLastError().InnerException.Message;
                    string ErrorDetail = Server.GetLastError().ToString();                //将错误信息写入日志                //转入错误处理页面
                    Response.Redirect("../error/error404.htm");
               
            }Server.GetLastError这个方法直接返回的就是一个Exception对象,试着 在Application_Error事件中直接把 Server.GetLastError().Message写入日志文件中看看是什么错误您好,感谢您的回帖,是这样的,我开始表达的不太对,
    我再说下,
    Server.GetLastError().Message=“文件不存在。”
    我具体看了下Server.GetLastError(),报出来的错是404错误
    我不明白他有什么可404的,就连我浏览网站目录的时候,他都会报这个错。
    那在Application_Error中的 Serve.GetLastError那行打断点, 当出错时  可以看到 抛出的Exception的StackTrance属性的值,这样就能确定在什么页面发生了错误
      

  6.   

    我贴下代码! protected void Application_Error(object sender, EventArgs e)
            {
               
                    if (Server.GetLastError().InnerException == null)
                    {
                        return;
                    }
                    //获取系统错误信息,如果InnerException 不为null,也不用写else了,下面继续会得到那个最后的错误
                    string Msg = Server.GetLastError().InnerException.Message;
                    string ErrorDetail = Server.GetLastError().ToString();                //将错误信息写入日志                //转入错误处理页面
                    Response.Redirect("../error/error404.htm");
               
            }Server.GetLastError这个方法直接返回的就是一个Exception对象,试着 在Application_Error事件中直接把 Server.GetLastError().Message写入日志文件中看看是什么错误您好,感谢您的回帖,是这样的,我开始表达的不太对,
    我再说下,
    Server.GetLastError().Message=“文件不存在。”
    我具体看了下Server.GetLastError(),报出来的错是404错误
    我不明白他有什么可404的,就连我浏览网站目录的时候,他都会报这个错。
    那在Application_Error中的 Serve.GetLastError那行打断点, 当出错时  可以看到 抛出的Exception的StackTrance属性的值,这样就能确定在什么页面发生了错误
    感谢您的回答,我看了下StackTrance属性
    里面的东西看不太明白了
      

  7.   

    那就把Application_Error事件中的代码注释掉,直接让异常抛出并显示在页面上,看错误出在哪里
      

  8.   


    Application_Error事件中的代码注释了话,
    也不会有任何问题,
    页面并不会报错我决定用web.config的配置了感谢您的解答!