当前位置:嗨网首页>书籍在线阅读

07-异常规范方面的修改

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

18.1.5 异常规范方面的修改

以前,C++提供了一种语法,可用于指出函数可能引发哪些异常(参见第15章):

void f501(int) throw(bad_dog); // can throw type bad_dog exception
void f733(long long) throw();  // doesn't throw an exception

与auto_ptr一样,C++编程社区的集体经验表明,异常规范的效果没有预期的好。因此,C++11摒弃的异常规范。然而,标准委员会认为,指出函数不会引发异常有一定的价值,他们为此添加了关键字noexcept:

void f875(short, short) noexcept; // doesn't throw an exception