1

我的代码如下所示:

    public bool myQuery(string cmd)
    {
        try
        {
            OracleCommand command = null;
            command = new OracleCommand(cmd, sqlConnection);
            command.ExecuteReader();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "error!");
            return false;
        }
        return true;            
    }

我的问题是当ORA-02291Oracle 发生错误时,它的异常没有被捕获。没有显示错误,我该如何捕捉这个错误?

4

2 回答 2

3

检查这个:

if (ex.InnerException != null)
{
    MessageBox.Show(ex.InnerException.Message, "error!");
}
于 2012-07-13T13:38:26.947 回答
2
catch (System.Data.OracleClient.OracleException ex)
{
    int code = ex.Code;

   // or

   string eCode = ex.ErrroCode;

    return false;
}
return true;  
于 2012-07-13T13:47:20.797 回答