try-catch 处理异常,也即 C++ 异常处理
2012-07-21 10:07
477 查看
// 注意,这是 C++ 程序,文件名为: SEH-test.cpp #include "stdio.h" class A { public: void f1() {} // 抛出 C++ 异常 void f2() { throw 888;} }; // 这个函数中使用了 try-catch 处理异常,也即 C++ 异常处理 void test1() { A a1; A a2,a3; try { a2.f1(); a3.f2(); } catch(int errorcode) { printf("catch exception,error code:%d\n", errorcode); } } // 这个函数没什么改变,仍然采用 try-except 异常机制,也即 SEH 机制 void test() { int* p = 0x00000000; // pointer to NULL __try { // 这里调用 test1 函数 test1(); puts("in try"); __try { puts("in try"); // causes an access violation exception; // 导致一个存储异常 *p = 13; puts(" 这里不会被执行到 "); } __finally { puts("in finally"); } puts(" 这里也不会被执行到 "); } __except(puts("in filter 1"), 0) { puts("in except 1"); } } void main() { puts("hello"); __try { test(); } __except(puts("in filter 2"), 1) { puts("in except 2"); } puts("world"); } /* hello catch exception,error code:888 in try in try in filter 1 in filter 2 in finally in except 2 world Press any key to continue */
相关文章推荐
- C++中的异常捕获与处理:Try、Throw、Catch关键字的理解和使用
- C++ try catch() throw 异常处理
- C++中的异常处理模块--try, throw, catch总结
- C++ try catch() throw 异常处理
- [置顶]C++异常处理:try,catch,throw,finally的用法
- C++中try_catch_throw的做异常处理用法
- C++异常处理 - try,catch,throw,finally的用法
- [转贴]从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- C++ - 异常处理:try,catch,throw,finally的用法
- C++ 异常处理:try、catch、throw、异常规格申明
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- C++异常处理: try,catch,throw,finally的用法
- 【C++】try 语句捕获异常,catch子句处理异常
- 异常处理(try catch throw)详解(C++)
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- C++中异常处理的语法 try catch throw
- C++异常处理:try,catch,throw,finally的用法
- C++使用try&catch进行异常处理的简单范例