在模板函数

时间:2015-10-16 17:15:59

标签: c++ templates exception-handling return try-catch

我遇到了一个问题,因为当堆栈为空时,stack.front()的返回并不指向任何内容。因此,尽管遇到异常,我最终还是会遇到错误的访问运行时错误。

还有更好的方法吗?我希望程序继续运行,即使调用了某些函数并且有错误。

1 个答案:

答案 0 :(得分:2)

您遇到了问题,因为您在投掷后会立即捕获异常。例外情况不会从top()中消失,而您在空堆栈上调用getFront()。在catch区块中重新设置您的例外情况,或者不要抓住它。