首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于错误处理的有关问题

2012-02-12 
关于异常处理的问题intmain(intargc,char*argv[]){charbuff1[16]charbuff2[16]try{memcpy(buff1,buff2,-

关于异常处理的问题
int   main(int   argc,   char*   argv[])   {
char   buff1[16];
char   buff2[16];

try{
memcpy(buff1,buff2,   -1);
}catch(...){
printf( "11111\n ");
}
printf( "22222\n ");

return   0;
}

上面的程序输出为
22222

问题1:memcpy(buff1,buff2,   -1);这里不是会有异常吗?为什么不会显示   11111   ?
问题2:我需要这样,即使printf( "22222\n ")上面的代码执行时候出现错误,也会执行printf( "22222\n "),这应该怎么做呢?
谢谢。


[解决办法]
那个不是异常
想想就知道,函数内判断一下就能解决的问题
不像除0这样处理不了的事情

[解决办法]
这个会溢出吧,-1是0xffffffff
[解决办法]
you can check the return value of memcpy
if you can get it ,it has been handled
otherwise, maybe it 's exception

热点排行