C++ catch在这个C++;代码

C++ catch在这个C++;代码,c++,operators,try-catch,C++,Operators,Try Catch,大家好,我对C++编程非常陌生,我很难理解下面的代码,他们在其中使用了catch。所以我想知道他们为什么在这段代码中使用catch。提前谢谢 #include <iostream> #include <exception> using namespace std; int main () { try { int* myarray = new int[1000]; cout << "allocated"; } catch (excep

大家好,我对
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;
  }
#包括
#包括
使用名称空间std;
int main()
{
尝试
{
int*myarray=newint[1000];
cout如果无法分配所需的空间,运算符可能会引发异常

从上面的链接:

throwing (1)    void* operator new (std::size_t size) throw (std::bad_alloc);
如果分配存储失败,则抛出bad_alloc。否则,将抛出 无异常(无抛出保证)

如果操作员无法分配所需的空间,则可能引发异常

从上面的链接:

throwing (1)    void* operator new (std::size_t size) throw (std::bad_alloc);
如果分配存储失败,则抛出bad_alloc。否则,将抛出 无异常(无抛出保证)


try
块中的一条语句引发异常时,
catch
中的语句将被执行。此教程链接将帮助一吨:

try
块中的一条语句引发异常时,
catch
中的语句将被执行。此教程链接将帮助一吨:

在C中尝试捕获内部异常处理++

  try
{

 int* myarray = new int[1000];

    cout << "allocated";
}

catch (exception& e)
{

cout << "Standard exception: " << e.what() << endl;

}
试试看
{
int*myarray=newint[1000];

couttry-and-catch-come在C中的异常处理++

  try
{

 int* myarray = new int[1000];

    cout << "allocated";
}

catch (exception& e)
{

cout << "Standard exception: " << e.what() << endl;

}
试试看
{
int*myarray=newint[1000];

请注意,当
new
分配结构/类的实例或
new[]
分配一个结构/类元素数组时,内存可能会分配OK,但结构/类构造函数可能会抛出自己的异常。在本例中并非如此,因为它分配的是一个基本类型的数组。但这是需要注意的。请注意,
new
分配一个结构/类实例时,或
new[]
分配一个结构/类元素数组,内存可能会分配OK,但结构/类构造函数可能会抛出自己的异常。本例中不是这种情况,因为它正在分配一个基本类型的数组。但这是需要注意的。