Return 在 try/catch 块之后模板函数

Return after try/catch block on template function

我 运行 在这里遇到一个问题,因为当堆栈为空时 stack.front() 的 return 没有指向任何东西。因此,尽管捕获了异常,但我最终还是遇到了错误的访问 运行-time 错误。

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

您 运行 遇到了问题,因为您在抛出异常后立即捕获了它。异常不会从 top() 中消失,并且您在空堆栈上调用 getFront()。在 catch 块中重新抛出异常,或者不捕获所有异常。