主要分成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"; }
运行结果: