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,但结构/类构造函数可能会抛出自己的异常。本例中不是这种情况,因为它正在分配一个基本类型的数组。但这是需要注意的。