二、異常管理的實(shí)用建議。
對(duì)于操作數(shù)據(jù)庫異常來說,Java應(yīng)用程序只提供了一個(gè)異常類。故光憑Java應(yīng)用程序的錯(cuò)誤信息,往往不能夠幫助應(yīng)用程序人員排除錯(cuò)誤的原因。只能夠指名是應(yīng)用程序錯(cuò)誤還是數(shù)據(jù)庫錯(cuò)誤導(dǎo)致的這個(gè)異常。為了更進(jìn)一步指明問題的原因,在數(shù)據(jù)庫層面定義異常的時(shí)候,最好能夠說明具體的原因。如前臺(tái)應(yīng)用程序可能會(huì)調(diào)用數(shù)據(jù)庫的函數(shù)或者過程。此時(shí)在數(shù)據(jù)庫的函數(shù)或者過程中做好能夠說明某個(gè)異常的具體原因。如根據(jù)某個(gè)基礎(chǔ)表生成另一張表的時(shí)候,某個(gè)字段不能夠?yàn)榭盏鹊。將這些異常信息說明清楚后,如果真的遇到類似的異常時(shí),操作數(shù)據(jù)庫異常類就會(huì)將數(shù)據(jù)庫的異常信息反會(huì)給前臺(tái)用戶。從而有利于用戶尋找問題的原因,并在最短時(shí)間內(nèi)改正。當(dāng)然,這需要Java程序員與數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行協(xié)調(diào)。
其次需要注意的是,異常并不是常態(tài)。也就是說,大部分異?梢酝ㄟ^前提的合理預(yù)見與預(yù)防,來消除。如設(shè)計(jì)到四則運(yùn)算,可以在前臺(tái)應(yīng)用程序窗口中限制在除數(shù)字段內(nèi)輸入0值等手段來消除應(yīng)用程序運(yùn)行中可能產(chǎn)生的異常。不過這往往要求應(yīng)用程序開發(fā)人員有比較豐富的工作經(jīng)驗(yàn)以及由比較嚴(yán)密的思維邏輯。雖然這有一定的難度,但是筆者認(rèn)為程序開發(fā)人員還是應(yīng)該往這方面努力,而不要老是讓用戶作為你的試驗(yàn)品,讓用戶來發(fā)現(xiàn)應(yīng)用程序中的設(shè)計(jì)Bug。筆者認(rèn)為,只有一些實(shí)在是程序人員無法控制的因素才允許拋出異常。如果應(yīng)用程序開發(fā)人員能夠意識(shí)到這種錯(cuò)誤、但是仍然沒有引起重視或者采取有效的措施防止出現(xiàn)這種異常,那么筆者是不允許的。
相關(guān)推薦:Java語言中的時(shí)間和日期處理相關(guān)的代碼實(shí)現(xiàn)北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |