|
|
一: 如何發(fā)現(xiàn)錯(cuò)誤
對(duì)于剛?cè)氲赖某绦騿T來(lái)說(shuō),調(diào)試程序是很頭痛的。。〈蚨嗳瞬恢廊绾稳ハ率,當(dāng)一個(gè)程序出錯(cuò)后,我們只能任其擺布。最愚蠢的辦法就是一點(diǎn)一點(diǎn)的去找,排除。這樣既費(fèi)時(shí),效率又不高。我們?cè)撛趺崔k呢???
1:首先我們要有良好的編程習(xí)慣,對(duì)于自己不敢保證其(代碼)正確性的情況下,盡量使用
try catch end try 結(jié)構(gòu)
舉例如下:
strKamokuNm = edtDataColoum.Text
edtDataRow.Text = strRow
上面這段話,看似平常。其實(shí)不然
使用VB dot net 做過(guò)項(xiàng)目的人,應(yīng)該有這樣的體會(huì),程序又是無(wú)緣無(wú)故的在這里報(bào)錯(cuò),到底是什么原因
類型不匹配 是最常見(jiàn)的錯(cuò)誤,我在這里不說(shuō)類型不匹配的情況,因?yàn)檫@種情況下軟件平臺(tái)會(huì)自動(dòng)給你提示
我要說(shuō)的是在dot net 中有這種情況
當(dāng)你定義一個(gè)變量后,如果沒(méi)給他賦值。然后去世用它的值。這種情況下很容易出錯(cuò)
先不說(shuō)怎么去解決它,因?yàn)樵谧鲆粋(gè)項(xiàng)目時(shí),我們發(fā)現(xiàn)錯(cuò)誤后,首先要做的就是錯(cuò)誤在哪兒
方法如下:
try
strKamokuNm = edtDataColoum.Text
edtDataRow.Text = strRow
catch ex as ***** (* 代表錯(cuò)誤類型,具體情況自己選者)
messagebox.show(ex.message)
end try
上面的代碼給我們提示出錯(cuò)誤的類型,有過(guò)項(xiàng)目經(jīng)驗(yàn)的人 一看消息的提示就應(yīng)該知道在什么地方
可是對(duì)于我們這些初學(xué)者來(lái)講還是找不到在什么地方
使用以下方式
catch ex as *****
throw ex
end try
上面的代碼看似正確,其實(shí)不然,因?yàn)槲覀冊(cè)赾atch 里面什么也沒(méi)做,只是寫了個(gè)throw ,程序是不會(huì)再這里拋出錯(cuò)誤的
如果實(shí)在是不知道怎么做,可以簡(jiǎn)單點(diǎn)寫,就在throw ex 語(yǔ)句下面加一句 return
總之就是一句話 把你不敢保證其正確與否的代碼放在try 里面,然后在catch 里面對(duì)錯(cuò)誤作出你的處理
二 :如何解決錯(cuò)誤
發(fā)現(xiàn)錯(cuò)誤后,我們?cè)撛趺崔k呢?
就在try后面加個(gè)斷點(diǎn),然后跑動(dòng)程序,程序運(yùn)行到斷點(diǎn)后自動(dòng)停止,然后按F1單步行走,你會(huì)發(fā)現(xiàn)程序走到某處后
就會(huì)自動(dòng)調(diào)到catch處,這就說(shuō)明錯(cuò)誤就在這里,下面要做的就簡(jiǎn)單了我就不多說(shuō)了 ^-^ |
|