主要分成bad_cast
:比如指的是指针转整形或者类似的数据类型转换异常
bad_alloc
:指的是分配内存的时候的异常情况bad_typeid
:空指针的异常
示例:
using namespace std;
int main()
{
try
{
int iy = 1920909109030139 * 2902930290329;
int* id_ = new int[iy];
}
catch (bad_cast &) //转换异常
{
cout << "转换异常" << endl;
}
catch (bad_alloc &) //内存分配异常
{
cout << "内存异常" << endl;
}
catch (bad_typeid &)
{
cout << "空指针异常" << endl;
}
std::cout << "Hello World!\n";
}
运行结果: