码迷,mamicode.com
首页 > 编程语言 > 详细

Response.End()、Response.Redirect()、Server.Transfer()导致“正在中止线程”异常的问题

时间:2015-05-16 13:18:59      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

try
{
     if (true)
           {
                Response.Write("测试1");
                Response.End();
            }
    else
           {

                   if (true)
                {
                     Response.Write("测试2");
                     Response.End();
                }
                    else
                {
                    Response.Write("测试3");
                    Response.End();
                }
            }

}

catch(Exception ex)
{
   Response.Write("error");
   Response.End();
}

 

当Response.End()、Response.Redirect()、Server.Transfer()被try-catch就会抛出“正在中止线程”异常的问题(ThreadAbortException)

ThreadAbortException能屏蔽还是屏蔽,因为ThreadAbortException是一个很匪夷所思的异常,因为在.net中它如果不捕获,就不会抛出异常,

只是简单的终止当前线程,而其他线程继续运行不受影响。

 

 

解决方法:屏蔽ThreadAbortException

//这是屏蔽ThreadAbortException异常用的

catch(ThreadAbortException)

{
}
catch(Exception ex)
{
    Response.Write("error");
    Response.End();
}

Response.End()、Response.Redirect()、Server.Transfer()导致“正在中止线程”异常的问题

标签:

原文地址:http://www.cnblogs.com/LockLive/p/4507658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!