激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

程序開(kāi)發(fā)中異常的理解及處理異常

時(shí)間:2024-08-08 00:52:27 計算機應用畢業(yè)論文 我要投稿
  • 相關(guān)推薦

程序開(kāi)發(fā)中異常的理解及處理異常

從接觸異常開(kāi)始我就弄不明白她,不會(huì )用她,想在系統中是異常機制發(fā)揮的淋漓盡致,進(jìn)行了很多嘗試,利用異?刂瞥绦蛄鞒,利用異常做數字的判斷函數,利用異常消除系統中可能出現的惱人的異常提示框,為了更好了利用異?戳撕芏嚓P(guān)于異常的文章,直到有一天看到了一句話(huà)——“永遠不要去處理你不知道怎么處理的異!,這才恍然大悟,感覺(jué)自己一直在用強大的異常機制干一些旁門(mén)左道的是事,更談不上理解異常在程序中的地位和意義,異常其實(shí)一種報告機制,“她以一種不可回避的方式報告程序中所出現的問(wèn)題”,她幫助程序員走向正確的道路,她忠實(shí)的向程序員提供錯誤報告,她希望有誰(shuí)能重視并處理掉她報告的問(wèn)題,哈,真不敢想象,沒(méi)有了異常機制該如何編制高質(zhì)量的程序!下面就個(gè)人的理解和看法瞎說(shuō)幾句,敬請各位批評指正,不勝感激!異常的工作原理,在有問(wèn)題的地方產(chǎn)生異常,馬上停止當前的工作,轉向異常處理代碼,如果找不到異常處理代碼,就會(huì )見(jiàn)異常向一層匯報,上一層接到異常會(huì )做同樣的事,轉向異常處理代碼,或者再將異常向上匯報,這樣逐層間錯誤傳遞出去,直到有一層處理了異;蚴且恢眻蟾娼o程序的使用者——用戶(hù)。這個(gè)層就是調用棧,當用戶(hù)A運行程序B,B從函數C開(kāi)始執行,調用函數D,再調用函數E,再調用函數F,這時(shí)F出現了異常,那么這個(gè)異常的調用棧就是A(棧底)—〉B—〉C—〉D—〉E—〉F(棧頂),這個(gè)異常就會(huì )沿著(zhù)這個(gè)棧從棧頂開(kāi)始向棧底的方向報告,如果在函數C中有對這個(gè)異常的處理代碼,那么這個(gè)異常的報告鏈就是F—〉E—〉D—〉C?梢钥闯,如果在完整的調用棧中沒(méi)有處理這個(gè)異常的代碼,用戶(hù)A就成了異常報告的終點(diǎn),向windows界面系統,會(huì )彈出一個(gè)惱人的消息對話(huà)框哈。那么用戶(hù)A向誰(shuí)報告呢,哈哈,這個(gè)已經(jīng)不屬于程序的范圍了,感覺(jué)用會(huì )對程序而言好像上帝一樣,訴說(shuō)痛苦已經(jīng)讓上帝都聽(tīng)到了,就心滿(mǎn)意足了哈哈,看來(lái)程序真虔誠哈哈。對于異常這個(gè)特性,也可以比喻成下屬向上級報告問(wèn)題,如果下屬知情不報,問(wèn)題就嚴重了,你要是領(lǐng)導知道下屬是這樣的八成就踢了他,相反如果你有一個(gè)報告機制健全的下屬隊伍,哈哈你就威風(fēng)了。日本企業(yè)文蛤中有個(gè)宗旨——聯(lián)絡(luò ),商談,報告,其實(shí)就是想讓員工都具有向上級匯報的習慣,F在再看看程序,哈哈,你不用給她們灌輸什么企業(yè)文化,不用她們講述什么報告的重要性,她們本身就是忠實(shí)報告的,如果把程序員比作企業(yè)老總,那么程序就是訓練一隊有素的員工。怎樣處理異常。在這里有個(gè)原則就是“永遠不要去處理你不知道怎么處理的異!,也就是只處理你知道如何處理的異常,對那些你不知道的異常必須廣開(kāi)言路,并積極地向上級匯報。什么叫知道如何處理呢?先說(shuō)一下處理異常有哪些方式,大體有,彈出提示消息框(這個(gè)消息框不同于那個(gè)惱人的異常報告消息框,她是捕獲異常后,根據處理的具體環(huán)境程序員主動(dòng)編寫(xiě)的友好的提示消息框),記錄錯誤日志,吞掉,做善后工作等等,那么出現異常時(shí)就要站在出現異常的模塊的立場(chǎng)上考慮一下我應該選擇哪種處理方式呢?如果不能做出選擇就選擇不處理,即向上級報告。舉個(gè)例子,函數Fun1是創(chuàng )建并返回一個(gè)活動(dòng)的數據連接對象的方法,他接受一個(gè)數據庫連接字符串,如果調用者(上級)給他一個(gè)錯誤的連接字符串,這時(shí)Fun1創(chuàng )建不了連接對象,產(chǎn)生了一個(gè)創(chuàng )建不了連接對象的異常,那么這時(shí)他應該怎樣處理這個(gè)異常呢?彈出友好的消息框?說(shuō)什么友好,Fun1根本就不知道是什么原因使他接收到了錯誤的連接字符串,彈一個(gè)“連接字符串有誤”,用戶(hù)肯定都有殺你的心,這個(gè)提示和用戶(hù)的業(yè)務(wù)邏輯有嘛關(guān)系!記錄錯誤日志,這個(gè)還行,但是記錄下來(lái)的文字無(wú)非就是“連接字符串有誤,連接字符串是:SQL……”,好點(diǎn)的話(huà),從連接字符串中看出了問(wèn)題,一般情況下還得根據代碼上下文去找問(wèn)題原因。這個(gè)方式不是不行是不好。吞掉,哈哈開(kāi)什么玩笑,你既創(chuàng )建不了連接,又不吱一聲,想讓調用者瘋了呀,這個(gè)肯定不行。做善后工作,行,確實(shí)應該清理一下現場(chǎng),免得浪費資源,但是還是沒(méi)吱一聲,所以這個(gè)方式做的不徹底。沒(méi)招了,哈,其實(shí)上面的分析給我們指明了一條路,幫助我們祛除了錯誤的選擇,這條路就是向上匯報,或是不加任何出來(lái)代碼,或是記錄日志,做些善后,再重新將異常拋出。那么什么時(shí)候就知道怎樣處理異常了,這就得看實(shí)際的情況和用戶(hù)的要求了,這句話(huà)等于沒(méi)說(shuō),就像其他的標題醒目但給出的結論卻模棱兩可文章一樣,哈哈,這里可以給幾個(gè)建議,1,一般地,底層模塊或是方法中不要處理異常,2,編寫(xiě)公共模塊、DLL等是,不能采用彈出對話(huà)框等依賴(lài)于平臺,框架的方式處理異常,3,編寫(xiě)公共模塊、DLL等時(shí),必須在使用文檔中注明每個(gè)方法屬性可能拋出的異常。4,永遠不要寫(xiě) try 這樣的語(yǔ)句。{ } catch(Exception) { o nothing } 自定義異常。明白了異常的原理和機制后,就可以自己定義異常了,這樣的實(shí)踐往往在編寫(xiě)控件、公共模塊、DLL等的時(shí)候,用錯誤編號在網(wǎng)上搜索一下,能找出一大堆關(guān)于錯誤代碼的描述。其中大多數是M(icro)S(oft)制定的,MS 從操作系統到各種各樣的框架都有對各種異常的編號,對每種異常做出了詳細的定義,如果你還用過(guò)像Spread等商業(yè)控件,也可以看到他里邊的各種各樣的異常定義,也就是說(shuō)我們自己也可以定義異常,在必要的時(shí)候,這樣就可以讓自己寫(xiě)的模塊也加入到訓練有素的員工隊伍中了。至于如何定義異常,具體的編成語(yǔ)言有具體的做法,比如C#中指定一異常一個(gè)從Exception繼承來(lái)的類(lèi),VB中異常是個(gè)全局變量等等,參見(jiàn)感興趣語(yǔ)言的語(yǔ)法指南就可以了。對異常的重新認識,一直以來(lái)許多人都認為異常是非?膳碌,可惡的,她是錯誤的化身,她有惱人的彈出對話(huà)框,弄得用戶(hù)跟兇煞惡神似的哈哈,其實(shí)這些都是誤解,異常一直默默地忠實(shí)的報告著(zhù)程序中出現的嚴重的不可回避的問(wèn)題,她為了程序、系統的正確性、嚴謹性呼喚你,希望你重視這些問(wèn)題,希望你用智慧解決這些問(wèn)題,她是多么的可愛(ài),又是多么的高尚,從來(lái)沒(méi)有因為對她的誤解而放棄自己的使命……異常很重要,我們更好學(xué)會(huì )如何去使用她。論文出處(作者):
淺談對程序開(kāi)發(fā)中異常的理解和認識
LINUX操作系統

【程序開(kāi)發(fā)中異常的理解及處理異!肯嚓P(guān)文章:

淺談對程序開(kāi)發(fā)中異常的理解和認識03-15

語(yǔ)境與詞語(yǔ)的異常搭配01-07

異常樣本檢測方法綜述03-07

淺談淮南礦區地質(zhì)異常體03-16

線(xiàn)粒體功能異常引起的疾病研究進(jìn)展03-29

基于用電采集系統的計量異常監測與分析03-16

會(huì )計活動(dòng)中存在的一些“異,F象”03-24

血清CK-MB高于CK的異常原因分析03-16

利用VC中的通訊控件開(kāi)發(fā)串形通信程序03-18

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频