在c ++语法中抛出异常

时间:2011-09-18 05:25:24

标签: c++ exception

对于抛出异常我知道你可以声明/定义函数,暗示它会引发异常

EX。

void foo(void) throw(const char *) {};

什么是适当的时间。如果我们要以这种方式声明/定义它,我们是使用原型和定义还是仅仅定义来实现它。如果我们还包含其他内容,那么使用构造函数执行此操作的语法还有一个。

实施例

class bar
{
 bar() , a(a) would the throw go here, and would it also in the definition if written elsewhere ?
}

谢谢: - )

1 个答案:

答案 0 :(得分:3)

不要这样做,它在C ++ 11中被弃用是有充分理由的:它没有做到人们认为它做的事情。

更新:此处有关此主题的更多信息http://www.boost.org/development/requirements.html#Exception-specification

另一个更新:正如@Steve Fallows所指出的,这是关于该主题的另一个很好的参考:http://www.gotw.ca/publications/mill22.htm