- 论坛徽章:
- 0
|
原帖由 vanter 于 2006-6-16 15:46 发表
_("foo") 这个写法在VC里经常看到,但这回是真的在linux底下的程序里看到了。
原句是这么写的,strcpy(buf, _("SuperSwap 1000"));
================================================== ...
throw( )会使编译器不生成unwind code. 如果函数体中真的抛出任何异常, 程序自己的异常处理是catch不了的, 而会被C++ runtime default exception handler宕掉.
VC是例外, 它会忽略throw( )
- void func() throw()
- {
- int i = 0;
- throw (int) (-1);
- }
- int main(int argc, char** argv)
- {
- int rc=0;
- try {
- func();
- }
- catch(int err)
- {
- printf("Caught exception err=%d\n", err);
- }
- return rc;
- }
复制代码 |
|