我的程序中要加个出错警告,要用,try - catch       char buf[1024]; try{       getbuf(buf);    }
    catch(Execption   e)  // buf溢出
    {    
       rtn   =   false;   
    }       
    return   rtn;   
   
    能这样捕获buf的溢出问题吗????

解决方案 »

  1.   

    syntax error : identifier 'Execption'
    error C2310: catch handlers must specify one type
    error C2317: 'try' block starting on line '396' has no catch handlers
      

  2.   

    只有getbuf函数的确有可能抛出Execption(Exception?)这个异常对象(或是子类的对象)时候才会捕获,不然你是捕获不了的,
    你可以查看getbuf这个函数的用法,可能是估计返回值来判断是否出错的
      

  3.   

    getbuf(buf)
    要抛出异常才能捕获啊。getbuf(buf) 是你自个定义的吧 
    throw new Exception();---定义类似的语句吗?
      

  4.   


    throw -1
    catch(int)
    {
      这里只能捕获BUF出错的内容,我想用MssageBox显示别的变量该怎么做啊???
    }
      

  5.   

    呃,这个应该叫做越界。只能从代码上避免这个问题。比如给getbuf一个长度,让getbuf内部处理的时候不要超过这个长度。
      

  6.   

    堆栈溢出不算异常~
    debug版本里内存有边界保护,所以能报告出来!