catch(OracleException ex)
{
Response.Write("<script>alert('"+ex.Message+"');</script>");
}怎么都弹不出异常信息的对话框。但是如果把ex.Message放到一个Label里,可以看到异常信息这是怎么回事啊?如果用OleDb,异常信息可以正常弹出

解决方案 »

  1.   

    请问你的oracle是怎么连接使用的?
    看能不能帮帮我的问题:
    http://community.csdn.net/Expert/topic/5444/5444736.xml?temp=.7452356
      

  2.   

    是报什么错误,你得贴出来。你不是说OleDb可以弹出exception吗?有可能你的异常不属于 OracleException,当然弹不出来了
      

  3.   

    我是故意弄个错误的sql让它执行,往不存在的表里插入一个记录,如果把ex.Message的值放到页面的一个Label的Text里可以看到,但是使用弹出的就不行。代码如下:
    string connStr = "data source = ora;user id=sa; password=sa";
    string sql = "insert into test0 values('001','001')";
    OracleConnection myConn = new OracleConnection(connStr);
    OracleCommand myCommand = new OracleCommand(sql,myConn);
    try
    {
    myConn.Open();
    myCommand.ExecuteNonQuery();
    Response.Write("<script>alert('执行成功!');</script>");
    }
    catch(OracleException ex)
    {
    Response.Write("<script>alert('"+ex.Message+"');</script>");
             Label6.Text=ex.Message;

    }test0是不存在的表,Label6中可以显示异常信息。
      

  4.   

    我发现改成如下就可以正常弹出对话框:catch(OracleException ex)
    {
             string a = ex.Message.Substring(0,ex.Message.Length-1);
    Response.Write("<script>alert('"+a+"');</script>");
             Label6.Text=ex.Message;

    }这是为什么啊……