Windows结构化异常在《Windows核心编程》中有大量篇幅做了介绍,这里面介绍的内容都基于书中的内容和自己的理解与研究。其实,在windows平台下,C++和C#的异常处理都是依靠Windows的结构化异常来实现的,大家可以依靠VS Debug来查看具体的信息.
Windows结构化异常介绍
Windows的结构化异常的大量实现是有操作系统和编译器共同完成的,其主要分为终止处理(termination handling)和异常处理(exception handling)两部分。
- 终止处理程序:终止处理程序确保不管一代代码是如何退出的,梁歪一个代码块都可以(终止处理程序)都可以被执行,一般情况下确保资源的释放,终止程序的基本语法如下:
__try{
// Guarded body 可能出现异常的代码
}
__finally{
// 终止处理程序
}
- 异常处理程序: 当一个硬件或者软件异常被抛出时,windows系统会给我们的应用程序一个查看和处理异常的机会,并允许应用程序自己处理这个异常,基本代码为:
__try{
// Guarded body 可能异常处理的程序
}
__