try catch的新用法(和函数名混合)

4 views
Skip to first unread message

邱戈川

unread,
Mar 10, 2006, 3:32:16 AM3/10/06
to 基于ACE和SpiderMonkey的SMS虚拟运营系统
注意:VC6还没有支持该用法,VC7已经支持

例如:

void Fun()
try
{
//........
//........
}catch(...){
}

时代过客

unread,
Mar 12, 2006, 9:25:04 PM3/12/06
to 基于ACE和SpiderMonkey的SMS虚拟运营系统
指的是什么用法?是catch(...)这样写法在VC6不被支持吗?如果是的话,我就不同意了,因为这样的写法我在VC6里实现我的项目时常用到的

candid Qiu

unread,
Mar 12, 2006, 9:34:12 PM3/12/06
to ACE...@googlegroups.com
我指的是函数名称后就直接用try,注意上面的例子。
不是指catch(...)

时代过客

unread,
Mar 12, 2006, 10:03:08 PM3/12/06
to 基于ACE和SpiderMonkey的SMS虚拟运营系统
是指没有分号?

candid Qiu

unread,
Mar 12, 2006, 10:10:18 PM3/12/06
to ACE...@googlegroups.com
是指:
函数的{}被
try{}catch(...){}代替。

时代过客

unread,
Mar 12, 2006, 10:39:16 PM3/12/06
to 基于ACE和SpiderMonkey的SMS虚拟运营系统
void Fun()
try
{
}catch(...){
}

void Fun()
{
try
{
}catch(...){
}
}
有什么区别?因为后一种写法是被VC6支持的,前一种我没在VC7里试过

candid Qiu

unread,
Mar 12, 2006, 10:42:31 PM3/12/06
to ACE...@googlegroups.com
区别其实不大,
可能是基于安全性的考虑,使用新的方式,这样catch(...){}就不会使用到函数中的资源(变量)。

小明

unread,
Mar 13, 2006, 9:13:29 PM3/13/06
to 基于ACE和SpiderMonkey的SMS虚拟运营系统
据我所知,C++标准中并没有这种用法。

可能是 vc7,vc8的一个bug

candid Qiu

unread,
Mar 13, 2006, 10:17:02 PM3/13/06
to ACE...@googlegroups.com
这一点是在C++ primer中看到,至于是否是C++标准,我没有考究过。
GCC和G++叶支持。
Reply all
Reply to author
Forward
0 new messages