我有这段代码
protected void Button_Click(object sender, EventArgs e)
{
try
{
// some code
con.Open();
string result = command.ExecuteScalar().ToString();
if (result != string.Empty)
{
// some code
Response.Redirect("Default.aspx");
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}
它提供了Response.Redirect("Default.aspx");
ex:线程正在中止。
任何想法为什么?
感谢名单
答案 0 :(得分:2)
从Try ... Catch语句中重定向将导致抛出此异常,因此这不是您想要做的。
我会将您的代码更新为;
string result = string.Empty;
try
{
// some code
con.Open();
result = command.ExecuteScalar().ToString();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}
if (result != string.Empty)
{
// some code
Response.Redirect("Default.aspx");
}
答案 1 :(得分:0)
这是ASP.NET在执行重定向时抛出的典型异常。在Interweb上有很好的记录。
尝试以下catch块来吞下异常,一切都应该没问题。它应该什么都不做!
catch(ThreadAbortException)
{
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}