try/catch的实现原理

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 19:37   717   0
转:try/catch的实现原理

1. VC++的try/catch是基于Win32的SEH(结构化异常处理)实现的。

2. try/catch只能捕捉当前线程的异常,每个线程都有自己的异常处理入口。

3. 异常处理入口是由OS负责调用的,在异常发生时。

4. 为了使用SEH,VC++编译器自动生成了很多的代码。

MSDN上关于SEH的经典文章

A Crash Course on the Depths of Win32 Structured Exception Handling

http://www.microsoft.com/msj/0197/exception/exception.aspx

深入探索Win32结构化异常处理

http://blog.csdn.net/diamont/archive/2009/06/11/4259590.aspx

CodeProject上的模拟实现

How a C++ compiler implements exception handling

CLR的实现

The Exception Model


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/optman/archive/2008/06/03/2508323.aspx

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP