本人写了段代码,内容基本如下try
{ string urlstr = Request.ServerVariables["PATH_INFO"].ToString();
if (urlstr.IndexOf("wlgs_list") > 0)
{
Response.Write("对不起,你查看的页面不存在!"); Response.End();
}
}
catch {
Response.Write("对不起,网站正在维护,无法正常浏览!"); Response.End();
}发现运行后,符合条件时,竟然显示这样提示:对不起,你查看的页面不存在!对不起,网站正在维护,无法正常浏览!是什么造成的呢
{ string urlstr = Request.ServerVariables["PATH_INFO"].ToString();
if (urlstr.IndexOf("wlgs_list") > 0)
{
Response.Write("对不起,你查看的页面不存在!"); Response.End();
}
}
catch {
Response.Write("对不起,网站正在维护,无法正常浏览!"); Response.End();
}发现运行后,符合条件时,竟然显示这样提示:对不起,你查看的页面不存在!对不起,网站正在维护,无法正常浏览!是什么造成的呢
设个断点看看是什么异常,或者
catch (Exception err)
{
Response.Write(err.Message);
}
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();
}
Response.End();
会有异常
行 107: {
行 108: Response.Write("对不起,你查看的页面不存在!" + err.Message);
行 109:
行 110: Response.End();
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0103: 当前上下文中不存在名称“err”
{
.....
}
catch(Excetion err)
{
Response.Write(err.Message);
}
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0246: 找不到类型或命名空间名称“Excetion”(是否缺少 using 指令或程序集引用?)源错误: 行 125:
行 126: }
行 127: catch (Excetion err)
行 128:
行 129: {
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0246: 找不到类型或命名空间名称“Excetion”(是否缺少 using 指令或程序集引用?)源错误: 行 125:
行 126: }
行 127: catch (Excetion err)
行 128:
行 129: {
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();
不错~~~