之前
考虑有一个类和一个全局函数:
例如,usefulfuncts.hpp
void dosome(int a, int b) throw (std::exception);
这是usefulfuncts.cpp
void dosome(int a, int b) throw (std::exception) {
//...
}
这是aclass.hpp
class aclass {
// Members...
friend void dosome(int a, int b) throw (std::exception);
// Members...
};
之后(我想要的)
好的!我想了解是否有必要每次都编写 throw
子句。例如,我可以这样做吗?
这是usefulfuncts.hpp
void dosome(int a, int b) throw (std::exception);
这是usefulfuncts.cpp
void dosome(int a, int b) { /* OMITTING IT! */
//...
}
这是aclass.hpp
class aclass {
// Members...
friend void dosome(int a, int b); /* OMITTING IT */
// Members...
};
这样对吗?只把它放在主要声明中?谢谢
最佳答案
省略异常说明意味着您的函数可以抛出任何 异常。
异常规范很糟糕。几乎没有任何编译器可以正确实现该功能。自 C++11 标准以来,它们已被弃用。事实上,异常规范被认为是一个失败的实验,即使它们是 C++03 标准的一部分。
关于C++ 我需要为一个函数到处写 throw 子句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11258709/