你有没有捕获 CFile 类的成员函数抛出的异常?

解决方案 »

  1.   

    建议你捕获CFile抛出的异常,单独处理文件没有问题,并不表示以后没有异常发生,有很多情况CFile会抛出异常的,你要分别处理!
      

  2.   

    我大致确定了问题所在,
    我的程序是从文件读数据,处理完后写到Oracle数据库,
    刚才我发现,把写数据库的处理屏蔽后就不报错了,写oracle数据库是用OCI实现的直接路径装载,
    请问有高手能指点吗?
    为什么多次调用就出错?
      

  3.   

    两种可能:
    1、oci的接口有bug,会出现内存泄露的问题。
    2、使用oci接口的方法存在问题导致内存泄露。
      

  4.   

    不想在研究了,给你一个最简单的方法解决问题://写数据库函数
    void WriteRecord(void)
    {
    //加入写数据库代码
    }
    //在你的程序中数据库代码替换成下面的
        BOOL err = TRUE;
      while(err){
            err = FALSE;
            __try{
                //加入写数据库代码
            }
            __except(TRUE){
                err = TRUE;
            }
        }
      

  5.   

    写错了,修改:
    //写数据库函数
    void WriteRecord(void)
    {
    //加入写数据库代码
    }
    //在你的程序中数据库代码替换成下面的
        BOOL err = TRUE;
      while(err){
            err = FALSE;
            __try{
                WriteRecord();
            }
            __except(TRUE){
                err = TRUE;
            }
        }