官术网_书友最值得收藏!

3.10 異常處理

異常就是函數操作中發生的意外情況。例如,被除0將會產生一個異常。很多程序員采取實現異常處理程序的方式來處理這些特殊情況,以避免非預期的程序中止。另外,異常處理程序被串在一起并以一定的順序被調用,直到其中一個能夠處理異常為止。

Microsoft Windows操作系統提供了如下三種形式的異常處理程序。操作系統按給定的順序調用它們,直到其中某一個被成功執行。

1.向量化異常處理(Vectored Exception Handling,VEH)。向量化異常處理程序首先調用以重寫結構化異常處理程序。Windows XP增加了對這種異常處理程序的支持。

2.結構化異常處理(Structured Exception Handling,SEH)。這種方式被實現為每函數(per-function)或每線程(per-thread)的異常處理程序,即每一個函數或每一個線程都有自己的異常處理程序。

3.系統默認異常處理。這是一個全局異常過濾器和處理器,用于處理整個進程的異常情況。如果上面兩個異常處理程序都無法處理異常,那么它將會被調用。

下面一節將討論結構化異常處理和系統默認異常處理。向量化異常處理由于未在軟件漏洞利用中廣泛使用,因而略去。

主站蜘蛛池模板: 浦东新区| 通州区| 新河县| 惠安县| 大竹县| 昭通市| 南开区| 镇巴县| 墨江| 青铜峡市| 灵寿县| 太康县| 美姑县| 德格县| 淮阳县| 抚宁县| 苍南县| 凤阳县| 鄂尔多斯市| 监利县| 建瓯市| 呼和浩特市| 萍乡市| 嘉峪关市| 大新县| 泗洪县| 陇西县| 泗水县| 宕昌县| 五台县| 甘孜县| 札达县| 长沙市| 闵行区| 建水县| 柳林县| 荆州市| 平顶山市| 丹棱县| 林芝县| 富民县|