佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > ASP 三層架構(gòu)  Error處理類

ASP 三層架構(gòu)  Error處理類

熱門(mén)標(biāo)簽:阿里云 Linux服務(wù)器 電子圍欄 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 團(tuán)購(gòu)網(wǎng)站 Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù) 服務(wù)器配置
從這節(jié)開(kāi)始,將會(huì)給大家介紹幾個(gè)ASP中的三大通用類,它貫穿于我所設(shè)計(jì)的三層架構(gòu)中,是對(duì)ASP語(yǔ)法的擴(kuò)展,可以提高很多細(xì)節(jié)處理上的效率,可以算是一點(diǎn)點(diǎn)框架的味道.
本節(jié)介紹錯(cuò)誤處理類,類名Con_Error,在代碼頁(yè)面之初就進(jìn)行初始化,實(shí)例名為e,以下的e.add 即使用該錯(cuò)誤類的實(shí)例化對(duì)象進(jìn)行操作.
方法介紹:
e.Add(ByVal vErrorMessage ) 記錄一個(gè)錯(cuò)誤,并且設(shè)置 e.Error = true . 在程序檢測(cè)用戶名合法性等地方發(fā)現(xiàn)錯(cuò)誤時(shí),就調(diào)用這個(gè)方法,記錄一個(gè)錯(cuò)誤信息.
例如,用戶登陸時(shí)密碼錯(cuò)誤,則調(diào)用 e.add("您的賬號(hào)或密碼錯(cuò)誤") .這時(shí)候,錯(cuò)誤對(duì)象e中便記錄了一個(gè)錯(cuò)誤,錯(cuò)誤對(duì)象的屬性e.Error=true .在后續(xù)操作中,可以使用錯(cuò)誤對(duì)象的這個(gè)屬性進(jìn)行判斷.
例如:
出現(xiàn)錯(cuò)誤后彈出小窗口提示錯(cuò)誤,并返回前一頁(yè).
if e.Error then
e.Alert_Back "請(qǐng)重新登錄!" 'Alert_Back 的作用在后面介紹.
end if
e.Alert_Back(ByVal vMessage) 使用Javascript彈出一個(gè)錯(cuò)誤提示框,顯示目前所有的錯(cuò)誤列表,Alert_Back(vMessage)中的vMessage顯示在最后一行,用于提示用戶在看到這個(gè)錯(cuò)誤信息后需要采取的步驟. 并且返回到前一頁(yè). 這個(gè)方法的代碼貼出來(lái),大家會(huì)更好理解:
Public Sub Alert_Back(ByVal vMessage)
strJSMessage = JSMessage vMessage 'JSMessage用于存儲(chǔ)e對(duì)象中的錯(cuò)誤列表,每個(gè)錯(cuò)誤之間用\n分開(kāi).
%>
script language="javascript" >
!--//
alert("%=strJSMessage %>"); '彈出提示錯(cuò)誤框.
history.back(); '返回前一頁(yè)
//-->
/script>
%
response.end '注意這里要停止輸出,避免出錯(cuò)的同時(shí)程序還繼續(xù)執(zhí)行.
End Sub
e.Alert_Back 方法延伸了幾個(gè)類似效果的方法,如下一同介紹,實(shí)現(xiàn)的過(guò)程請(qǐng)看附加的源碼:
e.Alert(ByVal vMessage) 只彈出錯(cuò)誤提示框,不返回前一頁(yè),也不停止程序的執(zhí)行.
e.Alert_Close(ByVal vMessage) 彈出錯(cuò)誤提示框,當(dāng)用戶點(diǎn)擊確定后,關(guān)閉當(dāng)前窗口
e.OK_Go(ByVal vMessage,ByVal vURL) 彈出信息提示框,當(dāng)用戶點(diǎn)擊確定后,跳轉(zhuǎn)到vURL頁(yè)面
e.Go(ByVal vURL) 直接跳轉(zhuǎn)到vURL頁(yè)面
以上幾個(gè)方法的作用,大家應(yīng)該都很熟悉了,其實(shí)它們不僅限于錯(cuò)誤處理的.
e.Clear 清空錯(cuò)誤對(duì)象中記錄的錯(cuò)誤信息 , e.Error = false
因?yàn)閑對(duì)象是一個(gè)全局的對(duì)象,可能在很多過(guò)程中都調(diào)用了. 當(dāng)你只需要統(tǒng)計(jì)某一個(gè)模塊中的錯(cuò)誤時(shí),可以在開(kāi)始調(diào)用這個(gè)方法,清空e中的錯(cuò)誤.
以下幾個(gè)是對(duì)Response.Write的包裝,目的僅僅是為了使用時(shí)的方便快速.
e.Debug(ByVal vMessage) 輸出調(diào)試信息. 當(dāng)程序完工時(shí),其中會(huì)存在不少用Response.write 輸出的錯(cuò)誤調(diào)試信息,要都刪掉又要細(xì)細(xì)地找. 使用e.Debug專門(mén)輸出調(diào)試信息,當(dāng)程序完成時(shí),只需要搜索e.Debug,就可以找到所有的調(diào)試錯(cuò)誤信息的位置.
e.w(ByVal vMessage) 輸出信息. 僅僅是Response.write的簡(jiǎn)單包裝,在程序中輸入e.w 比輸入Response.write 不知道要方便多少,而且總是容易寫(xiě)錯(cuò).
e.BR 輸出一個(gè)換行符,等同于 response.Write "BR />"
以下4個(gè)是對(duì)Response.End的包裝,只是按照操作習(xí)慣,定義的幾個(gè)一樣功能的方法:
e.Pause == Response.End
e.P == Response.End
e.Stop == Response.End
e.End == Response.End
還有一個(gè)屬性e.Message ,輸出e對(duì)象中所有的錯(cuò)誤列表
具體的實(shí)現(xiàn)細(xì)節(jié)請(qǐng)看代碼
復(fù)制代碼 代碼如下:

Class Con_Error
Private blnError
private strMessage
private strJSMessage
Private Sub Class_initialize()
blnError = false
strMessage = ""
End Sub
Private Sub Class_Terminate()
End Sub
' ==================================================================================
' Property
' ==================================================================================
' Message :
Public Property Let Message(ByVal value)
strMessage = value
End Property
Public Property Get Message()
Message = strMessage
End Property
' Error number
Public Property Get Error()
Error = blnError
End Property
' JSMessage : show in messagebox
Private Property Get JSMessage()
strJSMessage = Replace(strMessage , "br>" , "\n")
strJSMessage = Replace(strJSMessage , vbCrLf , "")
JSMessage = strJSMessage
End Property
' ==================================================================================
' Method
' ==================================================================================
' Add : add an Error message
Public Sub Add(ByVal vMessage)
blnError = true
strMessage = strMessage vMessage "br>"
End Sub
Public Sub Clear
blnError = false
strMessage = ""
End Sub
' Alert
Public Sub Alert(ByVal vMessage)
strJSMessage = JSMessage vMessage
%>
script language="javascript" >
!--//
alert("%=strJSMessage %>");
//-->
/script>
%
End Sub
' Alert_Back : alert and back
Public Sub Alert_Back(ByVal vMessage)
strJSMessage = JSMessage vMessage
%>
script language="javascript" >
!--//
alert("%=strJSMessage %>");
history.back();
//-->
/script>
%
response.end
End Sub
' Alert_Close : alert and close
Public Sub Alert_Close(ByVal vMessage)
strJSMessage = JSMessage vMessage
%>
script language="javascript" >
!--//
alert("%=strJSMessage %>");
window.opener = null;
window.close();
//-->
/script>
%
response.end
End Sub
'*********************************************
'Debug : response.write ,use it to delete debug message easily,just seach "e.Debug" from files
'*********************************************
Public Sub OK_Go(ByVal vMessage,ByVal vURL)
strJSMessage = JSMessage vMessage
%>
script language="javascript" >
!--//
alert("%=strJSMessage %>");
location.href = '%=vURL %>';
//-->
/script>
%
response.end
End Sub
Public Sub Go(ByVal vURL)
response.Redirect vURL
response.end
End Sub
'*********************************************
'Debug : response.write ,use it to delete debug message easily,just seach "e.Debug" from files
'*********************************************
Public Sub Debug (ByVal vMessage)
response.Write vMessage
response.flush
End Sub
' ****** W : write
Public Sub W(ByVal vMessage)
response.Write vMessage
End Sub
' ****** BR : write br>
Public Sub Br
response.Write "BR />"
End Sub
'*********************************************
'Pause : response.end , mark debug info clearly
'*********************************************
Public Sub Pause
response.end
End Sub
Public Sub P
response.end
End Sub
Public Sub [Stop]
response.end
End Sub
Public Sub [end]
response.end
End Sub
End Class
您可能感興趣的文章:
  • ASP 使用三層架構(gòu) asp中使用類
  • ASP 三層架構(gòu) Convert類實(shí)現(xiàn)代碼
  • Asp.net 在三層架構(gòu)中事務(wù)的使用實(shí)例代碼
  • 基于C#實(shí)現(xiàn)的三層架構(gòu)實(shí)例
  • Java Web三層架構(gòu)的配置詳解
  • asp.net實(shí)現(xiàn)三層架構(gòu)的例子
  • ASP.NET創(chuàng)建三層架構(gòu)圖解詳細(xì)教程
  • C# ComboBox的聯(lián)動(dòng)操作(三層架構(gòu))
  • ASP.NET存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)效果(三層架構(gòu))
  • ASP.NET三層架構(gòu)詳解 如何實(shí)現(xiàn)三層架構(gòu)

標(biāo)簽:江蘇 大理 萍鄉(xiāng) 廣元 衡水 蚌埠 衢州 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP 三層架構(gòu)  Error處理類》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    长武县| 南汇区| 德化县| 宜黄县| 云林县| 扶风县| 彭州市| 新昌县| 新闻| 绥德县| 方正县| 尚志市| 临江市| 齐河县| 泾阳县| 革吉县| 维西| 吴忠市| 临沭县| 双辽市| 衡阳市| 大港区| 灵山县| 永吉县| 祁连县| 衡南县| 高碑店市| 大城县| 仲巴县| 潜江市| 江口县| 青岛市| 甘洛县| 衡东县| 淳化县| 扶余县| 昌邑市| 枞阳县| 永顺县| 手机| 宕昌县|