这个C++代码中catch的用法是什么

1 c++ try-catch operators

嗨,我是C++编程新手,我很难理解他们使用的下面的代码catch.所以我想知道为什么他们catch在这段代码中使用.提前致谢

 #include <iostream>
 #include <exception>
 using namespace std;
 int main () 
 {
 try
 {
  int* myarray = new int[1000];
  cout << "allocated";
 }
 catch (exception& e)
 {
    cout << "Standard exception: " << e.what() << endl;
   }
    return 0;
  }
Run Code Online (Sandbox Code Playgroud)

Ale*_*op. 5

如果new无法分配所需的空间,操作员可能会抛出异常.

从上面的链接:

throwing (1)    void* operator new (std::size_t size) throw (std::bad_alloc);
Run Code Online (Sandbox Code Playgroud)

如果无法分配存储,则抛出bad_alloc.否则,它不会抛出异常(无抛出保证).