【问题标题】:Exceptions C++ in vector向量中的异常 C++
【发布时间】:2014-02-02 18:54:09
【问题描述】:
#include <vector>
#include <iostream>
#include <map>
#include <string>
using namespace std;
vector<char> prime;
char a='t';
int number;
int sqrt_of_n;
int main(){
  try{
      cin >> number;
      sqrt_of_n = round(sqrt(number));
      for (int i = 0; i < number; i++) prime.push_back(a);//заполнение массива
      for (int i = 2; i < sqrt_of_n; i++)
      {
          for (int j = 3; j < number; j++)
          {
              if ((j%i == 0) && (j!=i)) prime[j] = 'f';
          }
      }
      for (int i = 0; i <= prime.size(); i++)
      if (prime[i] == 't') cout << i << endl;
      system("pause");
  }
  catch (exception &e){ cout << "Isnt good" << e.what() << endl; }
}

捕捉异常的一些问题。我想捕捉向量中的 out_of_range 错误,但它不起作用。谢谢

【问题讨论】:

  • 请在以后使用之前阅读文档。
  • -1:你只需要阅读一些关于std::vector的文档。
  • Stroustrup 的 C++ 编程语言
  • 尝试对程序不利?为什么?
  • @Manu343726 至少它有助于保持 C++ 社区的理智:P

标签: c++ exception


【解决方案1】:

operator[] 不会为越界访问(或其他任何内容)抛出异常 - 请改用 at,它提供检查索引功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多