Windows平台下异常处理(二) - 结构化异常

本文深入探讨了Windows结构化异常处理机制,包括终止处理和异常处理两个方面,并提供了详细的代码示例。此外,还介绍了异常处理结构体EXCEPTION_REGISTRATION的作用及如何利用__try、__except、__finally等关键字实现异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows结构化异常在《Windows核心编程》中有大量篇幅做了介绍,这里面介绍的内容都基于书中的内容和自己的理解与研究。其实,在windows平台下,C++和C#的异常处理都是依靠Windows的结构化异常来实现的,大家可以依靠VS Debug来查看具体的信息.

Windows结构化异常介绍

Windows的结构化异常的大量实现是有操作系统和编译器共同完成的,其主要分为终止处理(termination handling)和异常处理(exception handling)两部分。

  • 终止处理程序:终止处理程序确保不管一代代码是如何退出的,梁歪一个代码块都可以(终止处理程序)都可以被执行,一般情况下确保资源的释放,终止程序的基本语法如下:
  __try{
    // Guarded body 可能出现异常的代码
    }
    __finally{
    // 终止处理程序
    }
  • 异常处理程序: 当一个硬件或者软件异常被抛出时,windows系统会给我们的应用程序一个查看和处理异常的机会,并允许应用程序自己处理这个异常,基本代码为:
__try{
 // Guarded body 可能异常处理的程序
}
__
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值