向量中的例外C++

Sim*_*kov -4 c++ exception

#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; }
}
Run Code Online (Sandbox Code Playgroud)

捕获异常的一些问题.我想在向量中捕获out_of_range错误,但它没有工作.谢谢

use*_*411 5

operator[]不会为越界访问(或其他任何东西)抛出异常 - at相反,它会提供已检查的索引功能.