1
95
对。
Boost有很好的 document 关于异常和错误处理的良好样式。值得一读。 |
2
57
一些原则:
例子:
然后在代码中使用它:
|
3
20
所有这些工作:
您应该更喜欢H而不是F而不是G。请注意,在最不可取的选项中,您需要显式地释放内存。 |
4
7
它起作用了,但如果我是你,我就不会这么做了。完成后,您似乎没有删除堆数据,这意味着您已经创建了内存泄漏。C++编译器负责确保异常数据即使在堆栈被弹出时仍保持活力,所以不要觉得需要使用堆。
顺便说一句,扔
|
5
7
除了可能抛出从std::exception派生的内容之外,还应该抛出匿名临时变量并按引用捕获:
. 参阅Meyer的“有效C++第三版”的细节或访问 https://www.securecoding.cert.org/.../ERR02-A.+Throw+anonymous+temporaries+and+catch+by+reference |
6
4
在C++中抛出异常的最简单方法:
印刷品:
如果捕获抛出的异常,则包含该异常,程序将继续运行。如果未捕获异常,则程序存在并打印:
|
7
1
尽管这个问题已经很老了,而且已经得到了解答,但我想在如何进行适当的异常处理方面添加一个注释。 在C++ 11中 :
使用
|
Julia · 矢量中相加为总和S的值的数量 1 年前 |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
quantumwell · 将空向量放入std::map() 6 年前 |
OutOfBound · 对未初始化内存使用算法的优点 6 年前 |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 6 年前 |