《錯誤處理》PPT課件

《錯誤處理》PPT課件

ID:39734918

大?。?26.10 KB

頁數(shù):20頁

時間:2019-07-10

《錯誤處理》PPT課件_第1頁
《錯誤處理》PPT課件_第2頁
《錯誤處理》PPT課件_第3頁
《錯誤處理》PPT課件_第4頁
《錯誤處理》PPT課件_第5頁
資源描述:

《《錯誤處理》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第12章錯誤調(diào)試和異常處理12.1錯誤分類12.2程序調(diào)試12.3異常處理12.1錯誤分類1.語法錯誤語法錯誤也稱為編譯錯誤,是由于不正確地編寫代碼而產(chǎn)生的。如果錯誤地輸入了關(guān)鍵字(例如,將int簡寫為Int)、遺漏了某些必須的語句成分等,那么C#在編譯應(yīng)用程序時就會檢測到這些錯誤,并提示相應(yīng)的錯誤信息。代碼加行號:選擇“工具”

2、“選項”命令,在出現(xiàn)的“選項”對話框中選擇“文本編輯器”

3、“C#”

4、“常規(guī)”選項,出現(xiàn)如圖12.2所示的對話框。例如,勾選“行號”則在代碼的每一行前顯示該行的行號,還可以通過選擇“C#”中其他項來設(shè)置較復雜的編輯功能。2.運行錯誤在C#項目運

5、行期間,當一個語句試圖執(zhí)行一個不能執(zhí)行的操作時,就會發(fā)生運行錯誤。例如,數(shù)據(jù)溢出、數(shù)組下標越界等。例如,有一個窗體myForm1上包含以下事件過程:privatevoidbutton1_Click(objectsender,EventArgse){int[]a=newint[10];inti;for(i=0;i<=20;i++)a[i]=2*i;}12.2程序調(diào)試C#提供了強大的程序調(diào)試功能,使用其調(diào)試環(huán)境可以有效地完成程序的調(diào)試工作,從而有助于發(fā)現(xiàn)運行錯誤。12.2.1調(diào)試工具(1)“調(diào)試”工具欄(2)“調(diào)試”菜單12.2.2如何開始調(diào)試從“調(diào)試”菜單中選擇“啟動調(diào)

6、試”、“逐語句”或“逐過程”命令,或者在代碼編輯窗口中,單擊鼠標右鍵,然后從快捷菜單中選擇“運行到光標處”命令,即開始調(diào)試過程。如果選擇“啟動調(diào)試”命令,則應(yīng)用程序啟動并一直運行到斷點。可以在任何時刻中斷執(zhí)行以檢查值或檢查程序狀態(tài)。若選擇“逐語句”或“逐過程”,應(yīng)用程序啟動并執(zhí)行,然后在第一行中斷。如果選擇“運行到光標處”命令,則應(yīng)用程序啟動并一直運行到斷點或光標位置,具體看是斷點在前還是光標在前??梢栽谠创翱谥性O(shè)置光標位置。某些情況下,不出現(xiàn)中斷,這意味著執(zhí)行始終未到達設(shè)置光標處的代碼。12.2.3設(shè)置斷點斷點是在程序中設(shè)置的一個位置,程序執(zhí)行到些位置時中斷(或暫停

7、)。斷點的作用是在調(diào)試程序時,當程序執(zhí)行到斷點的語句時會暫停程序的運行,供程序員檢查這一位置上程序元素的運行情況,這樣有助于定位產(chǎn)生錯誤輸出或出錯的代碼段。設(shè)置和取消斷點的方法如下:方法1:用鼠標右鍵單擊某代碼行,從出現(xiàn)的快捷菜單中選擇“斷點”

8、“插入斷點”命令(設(shè)置斷點)或者“斷點”

9、“刪除斷點”命令(取消斷點)。方法2:將光標移至需要設(shè)置斷點的語句處,然后按F9鍵。12.2.4定位錯誤當某行代碼中出現(xiàn)錯誤時,該錯誤會自動添加到“錯誤列表”和“輸出”窗口中??梢允褂谩板e誤列表”或“輸出”窗口來查找代碼中的錯誤。其操作是:雙擊“錯誤列表”或“輸出”窗口中的項,則光標自

10、動跳到代碼編輯器中相應(yīng)的出錯行。有些語言會在編碼錯誤下顯示一條波浪線。將鼠標懸停在帶有波浪線標記的代碼上可顯示一條消息,其中對錯誤進行了描述。12.2.5調(diào)試過程先在某行設(shè)置斷點,然后在調(diào)試器中按F5鍵運行應(yīng)用程序,應(yīng)用程序會在該行停止,此時可以檢查任何給定變量的值,或觀察執(zhí)行跳出循環(huán)的時間和方式。按F10鍵逐行單步執(zhí)行代碼。12.2.6顯示調(diào)試信息在C#程序中斷的狀況下,可以將鼠標放在希望觀察的執(zhí)行過的語句變量上面,調(diào)試器就會自動顯示執(zhí)行到斷點時該變量的值,如下圖:也可以在某個對象上單擊鼠標右鍵,從彈出的快捷菜單中選擇“快速監(jiān)視”命令,即可觀察到對象中各個元素的值,

11、如下圖:12.3異常處理異常處理語句1.try?catch語句try{//可能產(chǎn)生異常的程序代碼}catch(異常類型1異常類對象1){//處理異常類型1的異??刂拼a}?catch(異常類型n異常類對象n){//處理異常類型n的異常控制代碼}【例12.2】創(chuàng)建一個控制臺應(yīng)用程序Proj12-2項目,通過try?catch語句捕捉整數(shù)除零錯誤。namespaceProj12_2{classProgram{staticvoidMain(string[]args){intx=5,y=0;try//try...catch語句{x=x/y;//引發(fā)除零錯誤}catch(Exc

12、eptionerr)//捕捉該錯誤{Console.WriteLine("{0}",err.Message);//顯示錯誤信息}}}}輸出:試圖除以零。2.try?catch?finally語句同try?catch語句相比,try?catch?finally語句增加了一個finally塊,其作用是不管是否發(fā)生異常,即使沒有catch塊,都將執(zhí)行finally塊中的語句,也就是說,finally塊始終會執(zhí)行,而與是否引發(fā)異常或者是否找到與異常類型匹配的catch塊無關(guān)。其余與try?catch語句相同。finally塊通常用來釋放資源,而不用等待由運行

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。