获取导致`sTD :: out_of_range`被抛出的数组



在C 中,是否可以编程访问导致std::out_of_range扔入捕获块的容器?

编辑:我不打算调试或恢复有问题的容器。我只是有两个不同的容器,其中包含lambda功能。捕获块中的流量取决于哪个容器是一个问题。

如果您控制了异常的投掷,则可以尝试创建自己的自定义异常,然后将其投掷。尽管如果您已经知道例外导致条件,为什么要扔掉它。投掷和捕获自己的例外通常没有意义,但是在您的特殊情况下,您可以尝试做到这一点。因此,您需要编写自己的异常类,该类封装有关相关容器的信息,然后将其处理。

但是,在处理异常时,容器的状态值得怀疑。

考虑以下内容:

  • 投掷并捕捉自己的例外是有意义的吗?
  • 如果您不提出异常,那么您将如何获得有关的信息容器?
  • 您为什么要访问容器?
  • 堆栈还是堆上的容器?
  • 谁控制着容器的寿命?
  • 您是否会复发例外?

相关内容

最新更新