激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP 三層架構 Error處理類

ASP 三層架構 Error處理類

2019-09-09 10:32asp建站網 ASP教程

看到有朋友說前面一章講得沒必要,想想也確實.本來是沒有打算講這些基礎的,只是行文起來沒有約束,就蕩開到基礎知識上面了.

從這節開始,將會給大家介紹幾個ASP中的三大通用類,它貫穿于我所設計的三層架構中,是對ASP語法的擴展,可以提高很多細節處理上的效率,可以算是一點點框架的味道. 
本節介紹錯誤處理類,類名Con_Error,在代碼頁面之初就進行初始化,實例名為e,以下的e.add 即使用該錯誤類的實例化對象進行操作. 
方法介紹: 
e.Add(ByVal vErrorMessage ) 記錄一個錯誤,并且設置 e.Error = true . 在程序檢測用戶名合法性等地方發現錯誤時,就調用這個方法,記錄一個錯誤信息. 
例如,用戶登陸時密碼錯誤,則調用 e.add("您的賬號或密碼錯誤") .這時候,錯誤對象e中便記錄了一個錯誤,錯誤對象的屬性e.Error=true .在后續操作中,可以使用錯誤對象的這個屬性進行判斷. 
例如: 
出現錯誤后彈出小窗口提示錯誤,并返回前一頁. 
if e.Error then 
e.Alert_Back "請重新登錄!" 'Alert_Back 的作用在后面介紹. 
end if 
e.Alert_Back(ByVal vMessage) 使用Javascript彈出一個錯誤提示框,顯示目前所有的錯誤列表,Alert_Back(vMessage)中的vMessage顯示在最后一行,用于提示用戶在看到這個錯誤信息后需要采取的步驟. 并且返回到前一頁. 這個方法的代碼貼出來,大家會更好理解: 
Public Sub Alert_Back(ByVal vMessage) 
strJSMessage = JSMessage & vMessage 'JSMessage用于存儲e對象中的錯誤列表,每個錯誤之間用\n分開. 
%> 
<script language="javascript" > 
<!--// 
alert("<%=strJSMessage %>"); '彈出提示錯誤框. 
history.back(); '返回前一頁 
//--> 
</script> 
<% 
response.end '注意這里要停止輸出,避免出錯的同時程序還繼續執行. 
End Sub 
e.Alert_Back 方法延伸了幾個類似效果的方法,如下一同介紹,實現的過程請看附加的源碼: 
e.Alert(ByVal vMessage) 只彈出錯誤提示框,不返回前一頁,也不停止程序的執行. 
e.Alert_Close(ByVal vMessage) 彈出錯誤提示框,當用戶點擊確定后,關閉當前窗口 
e.OK_Go(ByVal vMessage,ByVal vURL) 彈出信息提示框,當用戶點擊確定后,跳轉到vURL頁面 
e.Go(ByVal vURL) 直接跳轉到vURL頁面 
以上幾個方法的作用,大家應該都很熟悉了,其實它們不僅限于錯誤處理的. 
e.Clear 清空錯誤對象中記錄的錯誤信息 , e.Error = false 
因為e對象是一個全局的對象,可能在很多過程中都調用了. 當你只需要統計某一個模塊中的錯誤時,可以在開始調用這個方法,清空e中的錯誤. 
以下幾個是對Response.Write的包裝,目的僅僅是為了使用時的方便快速. 
e.Debug(ByVal vMessage) 輸出調試信息. 當程序完工時,其中會存在不少用Response.write 輸出的錯誤調試信息,要都刪掉又要細細地找. 使用e.Debug專門輸出調試信息,當程序完成時,只需要搜索e.Debug,就可以找到所有的調試錯誤信息的位置. 
e.w(ByVal vMessage) 輸出信息. 僅僅是Response.write的簡單包裝,在程序中輸入e.w 比輸入Response.write 不知道要方便多少,而且總是容易寫錯. 
e.BR 輸出一個換行符,等同于 response.Write "<BR />" 
以下4個是對Response.End的包裝,只是按照操作習慣,定義的幾個一樣功能的方法: 
e.Pause == Response.End 
e.P == Response.End 
e.Stop == Response.End 
e.End == Response.End 
還有一個屬性e.Message ,輸出e對象中所有的錯誤列表 
具體的實現細節請看代碼 

復制代碼代碼如下:


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 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 红杏亚洲影院一区二区三区 | 午夜小视频免费观看 | 在线1区| 日韩av在线网| 99riav视频一区二区 | 国产午夜精品久久久久 | 欧美亚洲另类在线 | 国产一区二区三区在线免费观看 | 九九热九九热 | 日韩毛片免费观看 | 日本网站一区二区三区 | 日韩一级视频 | 国产精品1区,2区,3区 | 日韩三级伦理在线观看 | 国产一区二区三区高清 | 黄色免费在线电影 | 欧美精品一区二区三区久久久 | 日韩在线观看视频一区二区三区 | 国内免费视频成人精品 | www.三区| 欧美激情天堂 | 精品久久久久久久久久中出 | 耽美肉文np | av成人在线电影 | 亚洲日本高清 | 夜夜夜精品视频 | 国产一区二区三区四 | 久久99精品久久久久久久久久久久 | 少妇一级淫片免费放正片 | 欧美精品成人一区二区三区四区 | 亚洲网站一区 | 欧美一区高清 | 久久经典视频 | www.69色| 播色网电影网 | 亚洲国产精品99 | 色人阁在线视频 | av在线一区二区三区四区 | 国产永久免费观看 | 久久夜夜视频 | 国产一区二区三区影视 |