windows?核心編程第五版

          第一章?錯誤處理


          1.調(diào)用系統(tǒng)API時候仔細查看MSDN返回值含義。


          2.函數(shù)調(diào)用失敗后,可以立即調(diào)用?GetLastError來查看錯誤碼。


          3.可以利用Visual?Studio?自帶工具?Error?Lookup?來查看錯誤碼對應的含義。


          4.在調(diào)試的時候在Watch?窗口中選擇一行,然后輸入$err,hr。對于錯誤碼和錯誤信息都能更有效的查看。


          5.定義自己的錯誤碼:有時候我們會寫函數(shù)提供給別人調(diào)用,這樣就需要向別人指出錯誤。為了指出錯誤,只需要設置線程上的一個錯誤代碼,然后另自己的函數(shù)返回FALSE,INVALID_HANDLE_VALUE,NULL?或者其它合適的值。為了設置線程的上一個錯誤代碼,只需要調(diào)用
          :

          VOID?setLastError(DWORD?dwErrcode);


          盡量使用WinError.h?中現(xiàn)有的代碼來表示錯誤碼。如果都不能很好的反應自己想要表達的錯誤信息,就可以自己創(chuàng)建錯誤碼,錯誤代碼是一個32位數(shù)。唯一需要注意的是29位為1(表示用戶自定義錯誤)


          31-30

          29

          28

          27-16

          15-0

          內(nèi)容

          嚴重性

          Microsoft?/?soft

          保留

          Facility代碼

          異常代碼

          含義

          0?=?成功

          1?=?信息

          2?=?警告

          3?=?錯誤

          ?0?=?微軟定義的代碼

          1?=?用戶定義的代碼

          必須為0

          前256個值由Microsoft保留

          Microsoft?/?客戶定義的代碼

          posted on 2009-05-08 11:44 -274°C 閱讀(398) 評論(0)  編輯  收藏 所屬分類: C++

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 917238
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 益阳市| 嘉义县| 苏州市| 丰宁| 三原县| 横山县| 玉环县| 永年县| 沅江市| 兴化市| 海原县| 静安区| 天水市| 兰考县| 航空| 泰和县| 宜都市| 罗甸县| 西乌珠穆沁旗| 宁乡县| 东光县| 和龙市| 安阳县| 舞阳县| 灌云县| 余姚市| 通州区| 循化| 广东省| 汉寿县| 徐汇区| 迁安市| 堆龙德庆县| 福海县| 甘洛县| 象山县| 浪卡子县| 利津县| 湘西| 进贤县| 自治县|