本人写了段代码,内容基本如下try
        {           string urlstr = Request.ServerVariables["PATH_INFO"].ToString();
           
                if (urlstr.IndexOf("wlgs_list") > 0)
                {
                    Response.Write("对不起,你查看的页面不存在!");                    Response.End();
                }                
                    }
        catch        {
            Response.Write("对不起,网站正在维护,无法正常浏览!");            Response.End();
        
        }发现运行后,符合条件时,竟然显示这样提示:对不起,你查看的页面不存在!对不起,网站正在维护,无法正常浏览!是什么造成的呢

解决方案 »

  1.   

    但是我不加Response.End();try执行完了,还会显示后面的内容呢!
      

  2.   

    Response.End()会引发异常
    设个断点看看是什么异常,或者
    catch (Exception err)
    {
        Response.Write(err.Message);
    }
      

  3.   

    Response.End()会抛出ThreadAbortException异常来结束当前执行的过程,你应该放过这个异常让Response.End能够正常起作用。在捉到异常后,首先应该清掉Response中已有的输出,否则就会出现正常提示和出错提示并存的情况
    try
    {
    string urlstr = Request.ServerVariables["PATH_INFO"].ToString();
    if (urlstr.IndexOf("wlgs_list") > 0)
    {
    Response.Write("对不起,你查看的页面不存在!");
    Response.End();
    }
    }
    catch (ThreadAbortException)
    {
    throw;
    }
    catch
    {
    Response.Clear();
    Response.Write("对不起,网站正在维护,无法正常浏览!");
    Response.End();
    }
      

  4.   

    用三楼地方法输出一下Exception 的Message看看是什么异常。
      

  5.   

    try catch里面放
    Response.End();
    会有异常
      

  6.   

    Response.End();换成 return;
      

  7.   

    用了三楼的方法,但显示这样的错误行 106:                if (urlstr.IndexOf("wlgs_list") > 0)
    行 107:                {
    行 108:                    Response.Write("对不起,你查看的页面不存在!" + err.Message);
    行 109:
    行 110:                    Response.End();
      

  8.   

    编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0103: 当前上下文中不存在名称“err”
      

  9.   

    晕,你Catch后面加了么?try
    {
     .....
    }
    catch(Excetion err)
    {
      Response.Write(err.Message);
    }
      

  10.   

    用了楼上的,出现这个错误,顺便问一下,我是放在Global.asax里面的,要怎么加using 引用编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0246: 找不到类型或命名空间名称“Excetion”(是否缺少 using 指令或程序集引用?)源错误: 行 125:
    行 126:        }
    行 127:        catch (Excetion err)
    行 128:
    行 129:        {
     
      

  11.   

    用了楼上的,出现这个错误,顺便问一下,我是放在Global.asax里面的,要怎么加using 引用编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0246: 找不到类型或命名空间名称“Excetion”(是否缺少 using 指令或程序集引用?)源错误: 行 125:
    行 126:        }
    行 127:        catch (Excetion err)
    行 128:
    行 129:        {
     
      

  12.   

    [Quote=引用 4 楼 jshi123 的回复:]
    Response.End()会抛出ThreadAbortException异常来结束当前执行的过程,你应该放过这个异常让Response.End能够正常起作用。在捉到异常后,首先应该清掉Response中已有的输出,否则就会出现正常提示和出错提示并存的情况
    C# codetry
    {string urlstr= Request.ServerVariables["PATH_INFO"].ToString();if (urlstr.IndexOf("wlgs_list")>0)
        {
            Response.Write("对不起,你查看的页面不存在!");
            Response.End();
        }
    }catch (ThreadAbortException)
    {throw;
    }catch
    {
        Response.Clear();
        Response.Write("对不起,网站正在维护,无法正常浏览!");
        Response.End();
    不错~~~
      

  13.   

    是我拼错了,是Exception 而不是Excetion