資源描述:
《ch7 調試和錯誤處理》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、第七章調試和錯誤處理為什么需要調試程序為什么需要調試程序由于人思維的局限性,很難保證人編寫的程序不出現任何錯誤,即使是非常優(yōu)秀的程序員也無法保證代碼不出現問題。據統(tǒng)計,在編碼過程中,有40%的時間花在編寫代碼上,而另外60%的時間卻是花在程序的調試上的。因此,對代碼進行調試,是軟件開發(fā)人員的一項日常工作。在VS2005中調試應用程序非中斷模式下的調試非中斷模式下的調試是指,不中斷程序的運行,而是在程序運行過程輸出一些程序運行過程中的數據,然后由開發(fā)人員根據輸出的信息來對程序進行診斷。可以使用Debu
2、g和Trace對象來輸出調試信息,調試信息將在VS2005的輸出窗口顯示。在VS2005中調試應用程序Debug與Trace的的用法DebugTraceDebug.Write(<調試信息>);Debug.WriteLine(<調試信息>);Trace.Write(<調試信息>);Trace.WriteLine(<調試信息>);在VS2005中調試應用程序Debug與Trace的區(qū)別使用Debug和Trace都可以輸出調試信息,但它們之間存在如下區(qū)別:Debug對象只在調試模式下發(fā)揮作用,也就是說只有
3、在調試模式下才能看到用Debug輸出的調試信息。Trace對象在任何模式下都能發(fā)揮作用,不受影響。在VS2005中調試應用程序中斷模式下的調試中斷模式下的調試是指,在程序執(zhí)行時,故意中斷程序的運行,使程序運行到特定位置后中斷運行并進入調試模式。進入調試模式后,可利用VS2005的調試器對程序運行時的數據進行監(jiān)控,從而對程序進行診斷。在VS2005中調試應用程序進入中斷模式的方法設置斷點設置斷定語句處理程序異常在VS2005中調試應用程序中斷模式的調試方法監(jiān)視變量的內容單步執(zhí)行代碼使用即時窗口和命令窗
4、口在VS2005中調試應用程序異常處理錯誤處理是用處理程序運行過程中可能會為生的錯誤的,它可以用來處理如下錯誤:錯誤的內存訪問(如數組索引超出數組大?。抵颠\算時的錯誤(如溢出、除零等)硬件設備的故障處理操作系統(tǒng)異常(如可用內存不能滿足程序的需要)程序特意安排的異常在VS2005中調試應用程序異常處理最簡單的異常:運行時將會產生如下異常信息并中斷運行:int[]myArray={1,2,3,4};intmyElem=myArray[4];Indexwasoutsidetheboundsofthear
5、ray.在VS2005中調試應用程序異常處理的方法在C#中,可以捕獲程序中發(fā)生的異常,根據異常的類型,進行相應的處理。處理異常的方法是使用try...catch...finally語句組合來對異常進行處理。在VS2005中調試應用程序異常處理的方法try{<語句組>;}catch(<異常類型><異常變量>){<異常處理代碼>;}catch(<異常類型><異常變量>){<異常處理代碼>;}finally{<清理代碼>;}在VS2005中調試應用程序異常處理語句各模塊的作用try{}塊:在try塊中的代
6、碼所產生的異常將會被其后的異常處理代碼所捕獲,而不在try塊中的代碼將不被處理。catch{}塊:用來捕獲特定類型的異常,并在其中包含異常的處理代碼。finally{}塊:包含總是會執(zhí)行的代碼,一般用來執(zhí)行一些必要的清理工作。在VS2005中調試應用程序異常處理示例:try{int[]myArray={1,2,3,4};intmyElem=myArray[4];}catch(IndexOutOfRangeExceptione){Console.WriteLine(“數組索引超出范圍,消息:{0}”,
7、e.Message);}finally{Console.WriteLine(“異常處理完畢!”);}在VS2005中調試應用程序手動拋出異常的方法可使用thrownew<異常類型>()的方法來手動拋出異常,示例:staticvoidMain(){try{thrownewException(“手動拋出的異?!?;}catch(Exceptione){Console.WriteLine(e);}}