Response.End()、Response.Redirect()、Server.Transfer()导致“正在中止线程”异常的问题
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();
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。