黑马程序员技术交流社区
标题: 为什么asp.net的try{}catch{}中有Response.Redirect会报异常 [打印本页]
作者: 郑昱曦 时间: 2012-11-3 20:51
标题: 为什么asp.net的try{}catch{}中有Response.Redirect会报异常
本帖最后由 郑昱曦 于 2012-11-4 12:36 编辑
try
{
BindPicList();
Response.Redirect("List.aspx");
}
catch (Exception e)
{
// 异常处理
}
为什么使用以上语句,不管是否有异常,都会执行catch中的,一直显示""失败"",都会抛出System.Threading.ThreadAbortException
作者: 欧玉斌 时间: 2012-11-4 11:54
首先你说不管是否有异常,都执行了catch,这点你可以先设断点查验一下,如果都执行catch就必然是try内的两行代码问题。
但你给的太少,不清楚BindPicList()做的操作是否正常运行(看名字应该是绑定图片列表吧)。而Response.Redirect("List.aspx"); 在语法上也没有错误,如果引用的list.aspx路径没错的话。
不过你给出了异常提示。我百度System.Threading.ThreadAbortException,发现有和你一样情况的人:在GridView的DataRowdataBound事件中,是要寫:response.write,結果寫成response.redirect ,結果一開始執行這個頁面時,就一直閃,而又剛好是本頁,所以沒有導到其它頁,不然,就會知道錯誤在那邊。
不过这样的解释,我还是有困惑的。
response.write是往页面输出内容,response.redirect 是跳转链接,你究竟该写write还是redirect,只能根据你的项目自己判断。
建议:出错的时候,可以根据异常提示百度
作者: 郑昱曦 时间: 2012-11-4 12:35
欧玉斌 发表于 2012-11-4 11:54
首先你说不管是否有异常,都执行了catch,这点你可以先设断点查验一下,如果都执行catch就必然是try内的两 ...
嗯,谢啦,已经搞定了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |