我在这里遇到了一个问题,因为当堆栈为空时,stack.front()的返回未指向任何内容。因此,尽管捕获了异常,但最终还是遇到了严重的访问运行时错误。

有没有更好的方法可以做到这一点?我希望程序继续运行,即使某些函数被调用并出现错误也是如此。

最佳答案

您遇到了问题,因为抛出异常后您立即捕获了异常。异常不会脱离top(),您正在空堆栈上调用getFront()。将异常扔到catch块中,否则不要全部捕获。

关于c++ - 在模板函数的try/catch块之后返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33176063/

10-11 12:45