【发布时间】:2011-12-01 00:14:21
【问题描述】:
有没有办法允许在抛出异常后执行坏代码块?
目前,我的代码有一个持续运行的 while 循环。此 while 循环内的代码有时会引发向量超出范围错误。我一直无法追踪这个特殊异常的原因,但最终,这并不重要,因为 while 循环中的代码一遍又一遍地做同样的事情,下一次迭代不依赖于上一次迭代任何方式。
这个,在while循环中的代码崩溃后,我希望它从while语句的顶部重新开始。
有没有办法在 C++ 中实现这一点?在这种情况下,try/catch 似乎不起作用。
附加信息: 我很想将代码放在while循环中,使其成为自己的可执行文件,然后将while循环放入bash脚本中,但是每次迭代都需要一些数据保持静态,并且重新加载需要花费太多时间每次都需要这些数据,所以我不得不在 C++ 中执行我的无限 while 循环
【问题讨论】:
-
catch循环范围内的异常并从那里继续。但是,您确实需要找到问题的根本原因。 -
你能发一些代码来看看吗?如果您想要一个强大的应用,try{}catch(){} 应该是标准的
-
异常是异常的,应该被处理。即使您无法找到问题所在。
-
听起来你想要
On Error Resume Next用于 C++。我不能推荐它。 -
你能告诉我们你是如何尝试使用 try/catch 的吗?因为我认为将整个代码包装在一个 try 块中的 while 循环中(并且不要忘记在代码中记录为什么你不关心这个异常!)应该达到预期的效果。