我在这里遇到了一个问题,因为当堆栈为空时,stack.front()
的返回未指向任何内容。因此,尽管捕获了异常,但最终还是遇到了严重的访问运行时错误。
有没有更好的方法可以做到这一点?我希望程序继续运行,即使某些函数被调用并出现错误也是如此。
最佳答案
您遇到了问题,因为抛出异常后您立即捕获了异常。异常不会脱离top()
,您正在空堆栈上调用getFront()
。将异常扔到catch块中,否则不要全部捕获。
关于c++ - 在模板函数的try/catch块之后返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33176063/