??????
/**
?
*
在放大和縮小的時(shí)候同步放大和縮小導(dǎo)航線(xiàn)路
?
*/
Route.
prototype
.zoomLine =
function
(){
???
//alert("zoom
line
");
???
/*
???
?
*
取得所有的線(xiàn)段的數(shù)組
???
?
*/
???
var
lcs =
this
.getAllLineClips();
???
//alert(lcs.length);
???
???
//
修改所有線(xiàn)段的起點(diǎn)和終點(diǎn)坐標(biāo)
???
this
.changeLineClipsCoors(lcs);
}
?
Route.
prototype
.changeLineClipsCoors
=
function
(lineClipsCoords){
???
}
?
由上面的代碼我們可以知道,調(diào)用關(guān)系為
所以是zoomLine調(diào)用changeLineClipsCoors,那么我們可以認(rèn)為changeLineClipsCoors是底層程序,zoomLine是高層程序。
在異常處理的時(shí)候,我們可以在高層程序里面處理,也可以在底層程序里面處理,那么到底該什么時(shí)候處理比較好呢?
在這段程序里面,我們可以認(rèn)為是一樣的,因?yàn)?,?duì)于客戶(hù)端來(lái)說(shuō),那個(gè)方法都可以給用戶(hù)反饋錯(cuò)誤信息。
但是在服務(wù)器端的時(shí)候就不一樣了。
比如:
在action LoginAction中,我們可能要取得客戶(hù)端用戶(hù)的輸入,還有從數(shù)據(jù)庫(kù)去數(shù)據(jù),還要驗(yàn)證用戶(hù)輸入的正確性。這中間可能出現(xiàn)的異常就很多了。我列舉一下:
l????????
用戶(hù)名正確,密碼錯(cuò)誤
l????????
用戶(hù)名錯(cuò)誤,密碼正確
l????????
用戶(hù)名錯(cuò)誤,密碼錯(cuò)誤
l????????
數(shù)據(jù)庫(kù)聯(lián)接錯(cuò)誤
l????????
系統(tǒng)未知異常等
在分層上,我們可能在業(yè)務(wù)邏輯層,也可以在數(shù)據(jù)層,都可以捕捉異常,然后處理異常,但是,這些異常處理后如何通知用戶(hù)呢,沒(méi)有辦法,只能,我們往往就在底層的調(diào)用上拋出異常,然后再高層的調(diào)用上,處理異常。
比如,在
action
上處理異常,就可以通過(guò)
view
層來(lái)告訴用戶(hù)發(fā)生了什么異?;蝈e(cuò)誤。
一個(gè)簡(jiǎn)單的道理,在
jdk
里面都是拋出異常,而不處理異常,而在我們的程序里面來(lái)處理異常,就是這個(gè)道理。
把異常拋給你的高層應(yīng)用,在高層上來(lái)處理異常。
?
|----------------------------------------------------------------------------------------|
版權(quán)聲明 版權(quán)所有 @zhyiwww
引用請(qǐng)注明來(lái)源 http://m.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2007-06-20 14:49
zhyiwww 閱讀(497)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
j2ee