Visual C++中的异常处理浅析(2)
2.C++语言异常处理 2.1 C++异常处理语法 感谢C++语言的后期改造者们,他们在标准C++语言中专门集成了异常处理的相关语法(与之不同的是,所有的C 标准库异常体系都需要运行库的支持,它不是语言内核支持的)。当然,异常处理被加到程序设计语言中,也是程序语言发展和逐步完善的必然结果。我们看到,C++不是唯一集成异常处理的语言。 C++的异常处理结构为: try { //可能引发异常的代码 } catch(type_1 e) { // type_1类型异常处理 } catch(type_2 e) { // type_2类型异常处理 } catch (...)//会捕获所有未被捕获的异常,必须最后出现 { } 而异常的抛出方式为使用throw(type e),try、catch和throw都是C++为处理异常而添加的关键字。看看这个例子: #include <stdio.h> //定义Point结构体(类) typedef struct tagPoint { int x; int y; } Point; //扔出int异常的函数 static void f(int n) { throw 1; } //扔出Point异常的函数 static void f(Point point) { Point p; p.x = 0; p.y = 0; throw p