能力值:
( LV3,RANK:20 )
|
-
-
2 楼
一、编辑器对于release版本经常自作聪明,对于过于简单的代码,基本上就是直接把你的异常处理和谐掉了,和不和谐的界限我也找不出来。如果你希望的try…catch可以正常工作,可以在项目属性那里的“C/C++->命令行”里面添加一个/EHa编译参数,这样可以强制把try…catch编译进去。
二、“...”代表匹配不定个数的任何数据类型,在不定参数函数里面就是完全使用了这个功能,在catch里面只是使用了“匹配任何数据类型”的功能。
|
能力值:
( LV8,RANK:130 )
|
-
-
3 楼
C++异常要你自己抛出才会捕获
try
{
//...
throw xx;
}
catch(xx &)
{
//...
}
VC6有扩展
|
能力值:
( LV9,RANK:610 )
|
-
-
4 楼
一般用try…except就可以,不用C++那个try…catch,还有,你的MessagBox很强大~
|
能力值:
( LV6,RANK:80 )
|
-
-
5 楼
感觉__try…__except太弱了,不好用..\\\
/EHa 加上这个就可以了,
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
那个不是C++异常,而是 结构化异常
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
有多种方法可以测试,就你的代码来说,无非就是测试一下是否拷贝成功.
if 不能测试吗
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
如果strcpy这个函数不抛出异常,而你在try语句块中也不抛出异常,那么就不会有异常被抛出,当然也就捕捉不到了.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
你的try 里面 throw一个异常看看
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
向空指针strcpt 肯定会有异常的,程序会直接崩溃掉的,可能你没试过吧
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
感谢几位的热心回复, 确实如 wzanthony 所说.是 release 自作聪明,
加上 /EHA 就可以了,弹出了achillis 认为很强大的 MessageBox,(其实这个BOX 就是我懒得打参数,所以我能用0的时候,都没用 NULL)
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
哈哈哈 哈 MessayeBox很强大 哈哈哈!笑死我了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
莫笑莫笑,都只是好玩,,..
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
LZ和我以前的一样,我也没弄明白什么原因,现在看了此贴终于明白了,同样感谢楼上的帮忙!
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
确实.用 _try 可以捕捉到,但是 try catch 不行.我一直都很纳闷啊
还是 wzanthony 牛啊, 这都能发现,
|
|
|