一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C#的調(diào)試和錯誤處理

 Alex@ZW 2010-11-15

再優(yōu)秀的程序員在編程的過程中也會犯些錯誤,何況是我們這些初級程序?qū)W者;好的程序員會找出一些錯誤并修改它們.有時候程序中存在一些微妙的錯誤我們發(fā)現(xiàn)不了的時候就得跟蹤代碼進行調(diào)試.

一.Visual Studio中的調(diào)試

在調(diào)試模式下運行程序時,運行的是編寫好的代碼.調(diào)試程序的信息在VS執(zhí)行每行代碼過程中發(fā)生了甚么都有記錄,這些信息保存在Debug目錄下的.pdb格式文件中.

在運行期間把文本寫入Output窗口是非常簡單的.此時可以使用一下兩個命令:

Debug.WriteLine() 

Trace.WriteLine()

這兩個命令函數(shù)的使用方法差不多,區(qū)別在第一個命令是在調(diào)試模式下運行而第二個還可以用于發(fā)布程序.引用這兩個函數(shù)還要在命名空間中加入: using System.Diagnostics;

static int MaxNum(int[] a)//

{

Debug.WriteLine("sort array begin");

int max = a[0];

int index;

for (int i = 1; i < a.Length; i++)

{

if (max < a[i])

{

max = a[i];    //中斷點設(shè)計

index = i;

}

}

Trace.Write("the index of the bigest number is");

return max;

其實有關(guān)調(diào)試的問題都可以自己解決,只有那些專門研究程序運行過程實現(xiàn)的人才會去關(guān)注Debug的過程,一般我們在發(fā)現(xiàn)程序沒有錯誤可以運行的時候就不關(guān)心具體的執(zhí)行過程.

二.異常處理.

在程序運行過程中存在異常,例如在打開文件的時候要判斷文件是否存在才能打開,如果不存在就可能引起異常導(dǎo)致程序中止.如果可能存在異常就要用一下的方法處理.,以保證程序正常運行.

try

{

<可能包含異常的執(zhí)行過程>

}

catch(Exception 捕獲異常)

{

<異常處理>

}

finally{<最終會做甚么>

}

異常的類型:1基本Exception.2: Application Exception類

3 與參數(shù)有關(guān)的異常類: ArgumentException類Format Exception類:

4: 與成員訪問有關(guān)的異常MemberAccessException類,該類包括三種子類

FileAccessException類: MethodAccessException類: 
   MissingMemberException類:

下來的例子在數(shù)據(jù)處理過程中很常見.

int x1 = 40;

int x2 = 0;

int x3;

Label re = new Label();

re.Text=Convert.ToString(x1/x2)

執(zhí)行結(jié)果是

 

Try---catch---finally的異常處理模式是這樣的執(zhí)行的.

Try是程序意圖做甚么,Catch是捕獲Try過程中可能出現(xiàn)的異常,如果有異常的話而且異常和Catch的類型一樣,Catch處理異常.finally中的代碼不管有沒有異常都會執(zhí)行.當(dāng)然可以有多個Catch來處理捕獲程序執(zhí)行過程中可能出現(xiàn)的多個異常.

這里就不多說了.下面列舉出C#處理過程中存在的不同異常類型.,
MemberAccessException                           訪問錯誤:類型成員不能被訪問   
ArgumentException                               參數(shù)錯誤:方法的參數(shù)無效   
ArgumentNullException                           參數(shù)為空:給方法傳遞一個不可接受的空參數(shù)   
ArithmeticException                             學(xué)計算錯誤:由于數(shù)學(xué)運算導(dǎo)致的異常,覆蓋面廣。   
   ArrayTypeMismatchException                      數(shù)組類型不匹配   
    
DivideByZeroException                           被零除   
    FormatException                                 參數(shù)的格式不正確   
    IndexOutOfRangeException               索引超出范圍,小于0或比最后一個元素的索引還大   
    InvalidCastException                            法強制轉(zhuǎn)換,在顯式轉(zhuǎn)換失敗時引發(fā)   
    MulticastNotSupportedException                  不支持的組播:組合兩個非空委派失敗時引發(fā)   
    NotSupportedException                           調(diào)用的方法在類中沒有實現(xiàn)   
    NullReferenceException                          引用空引用對象時引發(fā)   
    OutOfMemoryException                            無法為新語句分配內(nèi)存時引發(fā),內(nèi)存不足   
    OverflowException                               溢出   
    StackOverflowException                          棧溢出   
    TypeInitializationException                     錯誤的初始化類型:靜態(tài)構(gòu)造函數(shù)有問題時引發(fā)   
    NotFiniteNumberException


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久夜色精品国产高清不卡| 在线亚洲成人中文字幕高清| 亚洲中文字幕综合网在线| 色狠狠一区二区三区香蕉蜜桃| 久久国产成人精品国产成人亚洲| 97人摸人人澡人人人超碰| 91蜜臀精品一区二区三区| 日本人妻的诱惑在线观看| 欧洲自拍偷拍一区二区| 操白丝女孩在线观看免费高清| 国产精品欧美一区二区三区不卡| 亚洲中文字幕高清视频在线观看| 在线免费国产一区二区三区| 深夜视频成人在线观看| 日韩精品在线观看完整版| 出差被公高潮久久中文字幕| 一个人的久久精彩视频| 日韩精品中文字幕亚洲| 亚洲性生活一区二区三区| 亚洲视频在线观看你懂的| 日韩精品中文在线观看| 欧美一区二区日韩一区二区| 老司机精品福利视频在线播放 | 欧美日韩视频中文字幕| 午夜精品国产一区在线观看| 亚洲中文字幕视频在线播放| 少妇人妻中出中文字幕| 日本熟妇熟女久久综合| 欧美成人高清在线播放| 欧美亚洲另类久久久精品| 殴美女美女大码性淫生活在线播放| 欧美精品久久男人的天堂| 亚洲精品一二三区不卡| 爱在午夜降临前在线观看| 又大又长又粗又猛国产精品| 国产91麻豆精品成人区| 日本熟女中文字幕一区| 国产午夜福利在线免费观看| 在线免费看国产精品黄片| 欧美尤物在线视频91| 亚洲国产黄色精品在线观看|