asp.net中页面重定向引发的异常

时间:2013-03-14 16:24:15

标签: c# asp.net redirect

我有这段代码

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:线程正在中止。

任何想法为什么?

感谢名单

2 个答案:

答案 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();
}