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

          搜索

          •  

          積分與排名

          • 積分 - 916114
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 丰台区| 额济纳旗| 乌苏市| 苏尼特左旗| 海盐县| 南木林县| 青川县| 九台市| 芒康县| 环江| 海门市| 巫溪县| 灵山县| 贵州省| 泸溪县| 红安县| 邵东县| 乐业县| 吉安县| 莱西市| 富锦市| 中超| 华蓥市| 珲春市| 岫岩| 河源市| 肇源县| 太白县| 青田县| 德庆县| 汉沽区| 荣成市| 南华县| 河东区| 林口县| 兴化市| 新建县| 浦北县| 琼海市| 会东县| 玉门市|