[英]response.redirect and throw in catch block
在以下场景中会发生什么? 它会在response.redirect之后抛出工作吗?
或者我需要在main方法的catch块中使用Response.Redirect,它会抛出异常调用堆栈....
try
{
//code
}
catch(Exception ex)
{
Response.Redirect("Error.aspx");
throw;
}
由于您未提供参数来指示当前页面是否应继续执行,因此它将通过调用End()自动终止页面。 使用带有单个参数的方法与使用两个参数调用方法相同,第二个(endResponse)设置为true
。 由于End()导致抛出异常,因此它不会到达throw语句。
参考: http : //msdn.microsoft.com/en-us/library/a8wa7sdt.aspx
在页面处理程序中使用此方法终止对一个页面的请求并为另一个页面启动新请求时,请将endResponse设置为true或调用Redirect方法重载。 此方法为原始请求调用End,该请求在完成时抛出ThreadAbortException异常。
如果希望页面继续执行,则需要使用带有两个参数的签名,并将endResponse参数设置为false
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.