windows?核心編程第五版

          第一章?錯誤處理


          1.調用系統API時候仔細查看MSDN返回值含義。


          2.函數調用失敗后,可以立即調用?GetLastError來查看錯誤碼。


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


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


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

          VOID?setLastError(DWORD?dwErrcode);


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


          31-30

          29

          28

          27-16

          15-0

          內容

          嚴重性

          Microsoft?/?soft

          保留

          Facility代碼

          異常代碼

          含義

          0?=?成功

          1?=?信息

          2?=?警告

          3?=?錯誤

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

          1?=?用戶定義的代碼

          必須為0

          前256個值由Microsoft保留

          Microsoft?/?客戶定義的代碼

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

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916109
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 永年县| 英吉沙县| 改则县| 怀宁县| 罗源县| 泽库县| 郸城县| 彭山县| 囊谦县| 卓尼县| 玉树县| 孙吴县| 五大连池市| 南京市| 绥芬河市| 北宁市| 澳门| 囊谦县| 凌云县| 应城市| 同江市| 本溪| 民勤县| 安阳县| 合肥市| 平利县| 安化县| 鄂托克旗| 民勤县| 睢宁县| 昭觉县| 乌鲁木齐县| 合山市| 平阳县| 名山县| 资阳市| 宕昌县| 沙田区| 托克逊县| 同江市| 五大连池市|