try
                {
                    conn buy_ad = new conn();
                    buy_ad.jianfen(username, jiage * month);
                    buy_ad.buy_ad(username,adid,ad_title, ad_link,pic,last_time);
                    Response.Redirect("msg.aspx?action=buy_ad_ok");
                }
                catch
                {
                    Response.Redirect("msg.aspx?action=error");
                }我单步跟踪,执行buy_ad.buy_ad(username,adid,ad_title, ad_link,pic,last_time);完全没有错误提示,但是结果却执行到catch里的跳转了,去掉了try才跳转到Response.Redirect("msg.aspx?action=buy_ad_ok");是怎么回事呢?

解决方案 »

  1.   

    try
                    {
                        conn buy_ad = new conn();
                        buy_ad.jianfen(username, jiage * month);
                        buy_ad.buy_ad(username,adid,ad_title, ad_link,pic,last_time);
                        Response.Redirect("msg.aspx?action=buy_ad_ok",false);
                    }
                    catch
                    {
                        Response.Redirect("msg.aspx?action=error",false);
                    }
      

  2.   

    catch(Exception ex)
    看看 ex是什么东西?不会无缘无故进去的
      

  3.   

     catch (Exception ex)
                    {
                        string aa = ex.Message;
                        Response.Redirect("msg.aspx?action=error");
                    }
    得到aa值为:“正在终止线程。”这个是怎么回事呢?
      

  4.   

    异常都出来了
    因为在跳转页面时,这个线程要先进行终止,再执行跳转
     Response.Redirect("msg.aspx?action=buy_ad_ok",false);加了false参数,是告诉不终止线程直接跳转!
      

  5.   

    因为你放在try catch里面了
    如果放在try catch里面,要这样写,Response.Redirect("url",true);