C++编译器怎么实现异常处理1[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 sdssly 的 blog

c++编译器怎么实现异常处理

 

对于vc++实现异常处理的深入探讨

 

导论

 

相比较其他传统的语言,c++的一个变革的特征是支持异常处理。相对于传统语言的不清楚容易错误的错误处理机制,c++的异常处理是一个非常好的替代。在正常的代码和错误处理代码之间清楚的分割使得程序非常整洁和宜于维护。本文讨论编译器怎么实现异常处理。假设读者熟悉异常处理的语法。 本文包含一个异常处理的vc++的库来替代vc++的异常处理,使用这个函数:

 

install_my_handler();

 

在这以后,程序中发生的任何异常(包含抛出异常到 stack unwinding,调用catch块和继续执行)都使用我自己的异常处理库。

 

译者注:当异常出现时,正常的执行流被中断,异常处理机制开始在当前范围寻找匹配的处理函数。如果找不到,把当前函数从栈中弹出,在调用者中继续寻找。这个过程称为stack unwinding

 

本文关键:异常处理 exception handling
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top