最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2009年09月20日 23:38:53   作者:  
看到有朋友說前面一章講得沒必要,想想也確實(shí).本來是沒有打算講這些基礎(chǔ)的,只是行文起來沒有約束,就蕩開到基礎(chǔ)知識(shí)上面了.
從這節(jié)開始,將會(huì)給大家介紹幾個(gè)ASP中的三大通用類,它貫穿于我所設(shè)計(jì)的三層架構(gòu)中,是對(duì)ASP語法的擴(kuò)展,可以提高很多細(xì)節(jié)處理上的效率,可以算是一點(diǎn)點(diǎn)框架的味道.
本節(jié)介紹錯(cuò)誤處理類,類名Con_Error,在代碼頁面之初就進(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ò)誤,并返回前一頁.
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ò)誤信息后需要采取的步驟. 并且返回到前一頁. 這個(gè)方法的代碼貼出來,大家會(huì)更好理解:
Public Sub Alert_Back(ByVal vMessage)
strJSMessage = JSMessage & vMessage 'JSMessage用于存儲(chǔ)e對(duì)象中的錯(cuò)誤列表,每個(gè)錯(cuò)誤之間用\n分開.
%>
<script language="javascript" >
<!--//
alert("<%=strJSMessage %>"); '彈出提示錯(cuò)誤框.
history.back(); '返回前一頁
//-->
</script>
<%
response.end '注意這里要停止輸出,避免出錯(cuò)的同時(shí)程序還繼續(xù)執(zhí)行.
End Sub
e.Alert_Back 方法延伸了幾個(gè)類似效果的方法,如下一同介紹,實(shí)現(xiàn)的過程請(qǐng)看附加的源碼:
e.Alert(ByVal vMessage) 只彈出錯(cuò)誤提示框,不返回前一頁,也不停止程序的執(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頁面
e.Go(ByVal vURL) 直接跳轉(zhuǎn)到vURL頁面
以上幾個(gè)方法的作用,大家應(yīng)該都很熟悉了,其實(shí)它們不僅限于錯(cuò)誤處理的.
e.Clear 清空錯(cuò)誤對(duì)象中記錄的錯(cuò)誤信息 , e.Error = false
因?yàn)閑對(duì)象是一個(gè)全局的對(duì)象,可能在很多過程中都調(diào)用了. 當(dāng)你只需要統(tǒng)計(jì)某一個(gè)模塊中的錯(cuò)誤時(shí),可以在開始調(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專門輸出調(diào)試信息,當(dāng)程序完成時(shí),只需要搜索e.Debug,就可以找到所有的調(diào)試錯(cuò)誤信息的位置.
e.w(ByVal vMessage) 輸出信息. 僅僅是Response.write的簡(jiǎn)單包裝,在程序中輸入e.w 比輸入Response.write 不知道要方便多少,而且總是容易寫錯(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

相關(guān)文章

  • utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的通用解決方法

    utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的通用解決方法

    當(dāng)我們?cè)跒g覽或使用uft-8格式的頁面的時(shí)候,總有可能出現(xiàn)一些亂碼或不顯示的問題,下載就瀏覽器客戶端和服務(wù)器都有一些原因的分析與解決方法
    2008-10-10
  • asp HTTP 500錯(cuò)誤 常見問題分析

    asp HTTP 500錯(cuò)誤 常見問題分析

    這個(gè)問題一般錯(cuò)誤不是很大,大家可以參考下面的步驟解決。
    2009-03-03
  • ASP常用的系統(tǒng)配置函數(shù)

    ASP常用的系統(tǒng)配置函數(shù)

    這個(gè)函數(shù)多用來后臺(tái)表單設(shè)置,然后生成asp配置文件的函數(shù),這樣不用每次都讀取數(shù)據(jù)庫,提高程序速度
    2008-04-04
  • 什么是ASP?如何打開ASP文件

    什么是ASP?如何打開ASP文件

    asp其實(shí)就是文本文件,用記事本就可以打開查看代碼,但asp一般是需要執(zhí)行的才能看到我們想要的效果,那么就需要asp運(yùn)行環(huán)境,一般我們購(gòu)買支持asp的虛擬主機(jī)。
    2016-04-04
  • asp textarea 多行數(shù)組分割處理方法

    asp textarea 多行數(shù)組分割處理方法

    上一篇文章,我們將text中的數(shù)據(jù)插入到了textarea中,后臺(tái)就需要處理,在textarea中,回車符不是“\n”,應(yīng)該是chr(13)。
    2010-05-05
  • ASP代碼實(shí)現(xiàn)自動(dòng)清除替換ACCESS(MDB)數(shù)據(jù)庫的日文字符的

    ASP代碼實(shí)現(xiàn)自動(dòng)清除替換ACCESS(MDB)數(shù)據(jù)庫的日文字符的

    我們都知道ACCESS是ASP的親密伙伴。因?yàn)閮煞N最簡(jiǎn)單的東西碰在一起總能迸發(fā)出火花。 然而,當(dāng)我們過濾不嚴(yán)格的時(shí)候經(jīng)常出現(xiàn)日文字符,這個(gè)時(shí)候搜索之后就會(huì)出現(xiàn)日文溢出。
    2008-06-06
  • ASP中if語句、select 、while循環(huán)的使用方法

    ASP中if語句、select 、while循環(huán)的使用方法

    這篇文章主要介紹了ASP中if語句、select 、while循環(huán)的使用方法,需要的朋友可以參考下
    2015-11-11
  • ASP.NET?Core?5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析

    ASP.NET?Core?5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析

    通過Rider調(diào)試的方式看了下ASP.NET Core 5.0的Web API默認(rèn)項(xiàng)目,重點(diǎn)關(guān)注Host.CreateDefaultBuilder(args)中的執(zhí)行過程,主要包括主機(jī)配置、應(yīng)用程序配置、日志配置和依賴注入配置這4個(gè)部分,需要的朋友可以參考下
    2022-08-08
  • ASP輔助代碼

    ASP輔助代碼

    ASP輔助代碼...
    2007-02-02
  • 用ASP實(shí)現(xiàn)MSSQL用戶密碼破解

    用ASP實(shí)現(xiàn)MSSQL用戶密碼破解

    一個(gè)暴力破解MSSQL用戶密碼的ASP程序,最早發(fā)布在EST論壇。以下這個(gè)版本是可以運(yùn)行之后關(guān)閉瀏覽器,運(yùn)行完畢將在當(dāng)前目錄生成結(jié)果文件的。 用ASP做事情效率很慢,當(dāng)然這個(gè)程序所體現(xiàn)的不是它的效率,而是……給你點(diǎn)懸念,不然多沒意思哦。
    2008-05-05

最新評(píng)論

株洲市| 盐城市| 海淀区| 瑞昌市| 沙田区| 洛扎县| 星座| 军事| 丰宁| 高邮市| 鸡西市| 桦南县| 馆陶县| 东乌| 喜德县| 南丹县| 丁青县| 晋中市| 治多县| 裕民县| 泸水县| 孟村| 肥城市| 福鼎市| 富蕴县| 内乡县| 南汇区| 临泽县| 城口县| 遂川县| 石景山区| 曲阳县| 贺兰县| 平凉市| 武平县| 浦县| 江油市| 江北区| 东方市| 云林县| 泰州市|